0
我想檢查這個函數的結果。 但無法修復聲明錯誤!如何聲明hashmap?
import java.util.HashMap;
public class twosum {
public int[] twoSum(int[] nums, int target) {
Map<Int, Int> map = new HashMap<>();
的java:泛型不支持在-source 1.3 的java:鑽石經營者未在-source 1.3
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");
}
public void main(String[] args){
int nums[] = {1,2,3,4};
System.out.println(twoSum(nums,5));
for(int i=0;i<4;i++){
System.out.println(i+"->"+"map="+map);
}
}
}
是否使用一個IDE?將項目Java級別設置爲1.8。 – Li357
這看起來像您的IDE設置爲以Java 1.3模式構建。這是_very_老,你應該改變它,理想的是Java 8.您使用哪個IDE? –