求问这段代码是C还是C++

本人只会python,学算法遇阻。发现市面上几乎都是C,C++,JAVA的算法。求大侠指教,这几段代码是什么语言。其实把慕课网的相关视频都看一些差不多也知道了,想节省时间,就只有请教各位了。谢谢!!!

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");
}

慕移动2572363
浏览 6226回答 18
18回答

onemoo

我觉得这是Java代码。可能因为你问的是“C还是C++”,所以有人没细看就说是C++了。虽说C语言中没有public、没有异常等,但是函数的nums参数直接声明为int[],这在C++中只是个指针啊! 况且C++的array也根本没有length成员啊!而Java恰好有这些语法。

习惯受伤

JAVA好吧!楼上说C++的不知道什么心态(ง •̀_•́)ง

幕布斯1840991

毫无疑问是我大java

zeng_建军

完全就是java嘛

慕先生7708552

java

rubyc

java

rubyc

 Map<Integer, Integer> map = new HashMap<>();这句话说明是java语言,学算法,最好选c,Java学算法,感觉根本不能真正了解算法。

MR帽子先生

纯正的java代码 

IMOOC学习

Java

翊人蝶舞

JAVA代码!!
打开App,查看更多内容
随时随地看视频慕课网APP