Algorithm:
給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和爲gai目標值的 兩個 整數。
你可以假設每種輸入只會對應一個答案。但是,你不能重複利用這個數組中同樣的元素。
示例:
給定 nums = [2, 7, 11, 15], target = 9
因爲 nums[0] + nums[1] = 2 + 7 = 9
public int[] twoSum(int[] nums,int target){
for(int i=0;i<nums.length-1;i++){
for(int j=i+1;j<nums.length-1;j++){
if(nums[i]+nums[j]==target){
return new int[]{i,j};
}
}
}
throw new IllegalArgumentException("there is no such tow num");
}
Review
之前沒有閱讀過英文原文,還沒有什麼頭緒,只能先看了幾頁effective java這本英文原版書
Tips
Java8 - Map更優雅的迭代方式:forEach
// 創建一個Map
Map<String, Object> infoMap = new HashMap<>();
infoMap.put("name", "Zebe");
infoMap.put("sex", "男");
// 傳統的Map迭代方式
for (Map.Entry<String, Object> entry : infoMap.entrySet()) {
System.out.println(entry.getKey() + ":" + entry.getValue());
}
// JDK8的迭代方式
infoMap.forEach((key, value) -> {
System.out.println(key + ":" + value);
});
Share
一個NullPointerException,竟然有這麼多花樣!(主要學習問題分析的思路)