欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

不降原則是什么意思

錢艷冰2年前13瀏覽0評論

不降原則是什么意思?

不降原則是個神馬意思呢

舉個例子:

比如說在6里面隨便選5個數,那么選法都是什么呢?

瞎枚舉?

12345

12346

前兩個還不會弄混

然后很可能就亂了

少點數可能不會亂

但是多了就不好整了

比如說在100里隨便選50個數。

1 2 3 4 5 6 7 8 9 10 11 12......

Die.

所以我們可以運用不降原則:

保證枚舉的這些數是升序排列

其實真正的不降原則還可以平

比如 1 2 2 3 3 4......

但是這里要說的“不降原則”不能平哦!

對于這道題也不能平

否則就有重復數字了

拿6個里面選3個舉例子

1 2 3

1 2 4

1 2 5

1 2 6

第一輪枚舉完畢。

第二個數加一

1 3 ?

這個“?”應該是4,因為是升序排列

1 3 4

1 3 5

1 3 6

接著,就是這樣

1 4 5

1 4 6

1 5 6

第一位是1枚舉完畢

第一位是2呢?

2 3 4

2 3 5

2 3 6

2 4 5

2 4 6

2 5 6

就是這樣的,枚舉十分清晰,對嗎?

以此類推.....

3 4 5

3 4 6

3 5 6

4 5 6

然后就枚舉不了了,結束。

所以說,這樣就可以避免判重了。

知道了不降原則,咱們再來see see 代碼

代碼中還是一樣的老套路

一樣的dfs

一樣的參數

咱們最主要看其中不降原則的部分

在dfs函數中,我們明顯能看到一個參數 startx

這是個什么東西呢?

就是當前的初始值

也就是最小的,符合不降原則的參數

這樣一來,就可以去重了!

其實,其中的vis數組可以去掉

究竟怎么去呢?自己想想把!

java枚舉參數,不降原則是什么意思