慕移動2572363
2017-01-06 13:49:33
本人只會python,學(xué)算法遇阻。發(fā)現(xiàn)市面上幾乎都是C,C++,JAVA的算法。求大俠指教,這幾段代碼是什么語言。其實把慕課網(wǎng)的相關(guān)視頻都看一些差不多也知道了,想節(jié)省時間,就只有請教各位了。謝謝?。?!public int[] twoSum(int[] nums, int target) {??? for (int i = 0; i < nums.length; i++) {??????? for (int j = i + 1; j < nums.length; j++) {??????????? if (nums[j] == target - nums[i]) {??????????????? return new int[] { i, j };??????????? }??????? }??? }??? throw new IllegalArgumentException("No two sum solution");}public int[] twoSum(int[] nums, int target) {??? Map<Integer, Integer> map = new HashMap<>();??? for (int i = 0; i < nums.length; i++) {??????? map.put(nums[i], i);??? }??? for (int i = 0; i < nums.length; i++) {??????? int complement = target - nums[i];??????? if (map.containsKey(complement) && map.get(complement) != i) {??????????? return new int[] { i, map.get(complement) };??????? }??? }??? throw new IllegalArgumentException("No two sum solution");}
18 回答

onemoo
TA貢獻(xiàn)883條經(jīng)驗 獲得超454個贊
我覺得這是Java代碼。
可能因為你問的是“C還是C++”,所以有人沒細(xì)看就說是C++了。雖說C語言中沒有public、沒有異常等,但是函數(shù)的nums參數(shù)直接聲明為int[],這在C++中只是個指針?。?況且C++的array也根本沒有l(wèi)ength成員?。?/p>
而Java恰好有這些語法。

rubyc
TA貢獻(xiàn)47條經(jīng)驗 獲得超7個贊
?Map<Integer,?Integer>?map?=?new?HashMap<>();這句話說明是java語言,學(xué)算法,最好選c,Java學(xué)算法,感覺根本不能真正了解算法。
- 18 回答
- 0 關(guān)注
- 6836 瀏覽
添加回答
舉報
0/150
提交
取消