慕移動(dòng)2572363
2017-01-06 13:49:33
本人只會(huì)python,學(xué)算法遇阻。發(fā)現(xiàn)市面上幾乎都是C,C++,JAVA的算法。求大俠指教,這幾段代碼是什么語(yǔ)言。其實(shí)把慕課網(wǎng)的相關(guān)視頻都看一些差不多也知道了,想節(jié)省時(shí)間,就只有請(qǐng)教各位了。謝謝?。。ublic 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)驗(yàn) 獲得超454個(gè)贊
我覺(jué)得這是Java代碼。
可能因?yàn)槟銌?wèn)的是“C還是C++”,所以有人沒(méi)細(xì)看就說(shuō)是C++了。雖說(shuō)C語(yǔ)言中沒(méi)有public、沒(méi)有異常等,但是函數(shù)的nums參數(shù)直接聲明為int[],這在C++中只是個(gè)指針??! 況且C++的array也根本沒(méi)有l(wèi)ength成員??!
而Java恰好有這些語(yǔ)法。

rubyc
TA貢獻(xiàn)47條經(jīng)驗(yàn) 獲得超7個(gè)贊
?Map<Integer,?Integer>?map?=?new?HashMap<>();這句話說(shuō)明是java語(yǔ)言,學(xué)算法,最好選c,Java學(xué)算法,感覺(jué)根本不能真正了解算法。

aaaaaaaaten
TA貢獻(xiàn)63條經(jīng)驗(yàn) 獲得超16個(gè)贊
這是JAVA代碼,用于找到nums[j] == target - nums[i]的條件的那個(gè)數(shù)
- 18 回答
- 0 關(guān)注
- 6902 瀏覽
添加回答
舉報(bào)
0/150
提交
取消