有這麼一個有趣的問題,問:
有這麼一個不重複的天然數數組,天然數長度爲N,而數組長度爲N-2,依次隨機把天然數放進數組中,請找出2個沒有被放進去的天然數。
例如:這個天然數數組是[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]這十個數,某次隨機放入的順序是[2, 1, 3, 5, 7, 9, 0, 4],那麼6和8這兩個數沒有被放入進來。
(哇,超級簡單的一個問題啊,用javascript幾分鐘就搞定的哇,而後我就用java試試,而後發現,哇,怎麼這麼麻煩。不過順帶着學到了很多東西)javascript
package com.test.basic; import java.util.ArrayList; import java.util.List; /** * 有這麼一個有趣的問題,問: * 有這麼一個不重複的天然數數組,天然數長度爲N,而數組長度爲N-2,依次隨機把天然數放進數組中,請找出2個沒有被放進去的天然數。 * 例如:這個天然數數組是[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]這十個數,某次隨機放入的順序是[2, 1, 3, 5, 7, 9, 0, 4], * 那麼6和8這兩個數沒有被放入進來。 */ public class text1 { public static void main(String []args){ int []arr1 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; int []arr2 = {2, 1, 3, 5, 7, 9, 0, 4}; List<Integer> list = new ArrayList<Integer>(); for(int a1:arr1){ Boolean flag = true; for(int a2:arr2){ if(a1 == a2){ flag = false; break; } } if(flag){ list.add(a1); } } System.out.println(list); } }
數組的聲明由幾種方式:java
1,String []a = new String[length];再賦值es6
a[0]=?;.......小程序
2,new完就直接初始化:數組
String []a = new String[]{?,?...};學習
3.你甚至沒必要new:spa
String []a = {?,?....}一樣沒問題。blog
(吐槽:哇,跟js賊不一樣。一開始我都懵b了,重點是,數組長度聲明好就不能動了!!!哇,好坑,而後就百度,說是用集合,我就繼續去學習集合了)ip
for和while,始終有種感受,既生瑜何生亮???class
感受能夠被替代,爲毛要兩個
而後就百度了好多,最後看了好多總結就是,
爲了增強代碼的靈活和可讀性!!!??exm?好吧,大家狠,大家寫的語言,大家說的都對。
各位大佬,要是有什麼高見記得給我說說
感受就是能夠增減長度的數組,就跟es6裏面剛剛出來的那些set,weak那些有點像,不過不是太理解,等會再系統的學習下
哇,感想,原本看到這個小程序的時候,我真的感受超級簡單,可是吧,卻寫了有一兩個小時,問了兩三我的,百度了好多。不過繼續加油了我