連結:https://leetcode.com/problems/contains-duplicate/description/
有效的方法是使用Hash資料結構來儲存遇到的元素。 統計數組時,如果Hash集中已存在某個元素,則傳回 true。 否則,將該元素新增至Hash集中。 如果循環完成後沒有發現任何重複項,則傳回 false。
class Solution {
public boolean containsDuplicate(int[] nums) {
HashSet<Integer> save = new HashSet<Integer>();
for (int i = 0; i < nums.length;i++)
{
if (save.contains(nums[i]))
return true;
else
save.add(nums[i]);
}
return false;
}
}
連結:https://leetcode.com/problems/two-sum/description/
class Solution {
public int[] twoSum(int[] nums, int target) {
HashMap<Integer,Integer> save = new HashMap<Integer,Integer>();
for (int i = 0; i < nums.length;i++)
{
int val = target - nums[i];
if (save.containsKey(val))
return new int[] {i,save.get(val)};
else
save.put(nums[i],i);
}
return new int[]{};
}
}