LeetCode-1. 两数之和、217. 存在重复元素、594. 最长和谐子序列(哈希表)

哈希表的应用


目录

1. 两数之和

217. 存在重复元素

594. 最长和谐子序列


1. 两数之和

【题目】:

LeetCode-1. 两数之和、217. 存在重复元素、594. 最长和谐子序列(哈希表)_第1张图片

【代码】:

public int[] twoSum(int[] nums, int target) {            
        Map map = new HashMap();
        for(int i=0; i

或者

public int[] twoSum(int[] nums, int target) {
    HashMap indexForNum = new HashMap<>();
    for (int i = 0; i < nums.length; i++) {
        if (indexForNum.containsKey(target - nums[i])) {
            return new int[]{indexForNum.get(target - nums[i]), i};
        } else {
            indexForNum.put(nums[i], i);
        }
    }
    return null;
}

217. 存在重复元素

【题目】:

LeetCode-1. 两数之和、217. 存在重复元素、594. 最长和谐子序列(哈希表)_第2张图片

【代码】:

class Solution {
    public boolean containsDuplicate(int[] nums) {
        Set set=new HashSet<>();
        for(int i=0; i

594. 最长和谐子序列

【题目】:

LeetCode-1. 两数之和、217. 存在重复元素、594. 最长和谐子序列(哈希表)_第3张图片

【代码】:

public int findLHS(int[] nums) {
        Map map=new HashMap<>();
        for(int i=0; i

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

另外:

LeetCode-1. 两数之和、217. 存在重复元素、594. 最长和谐子序列(哈希表)_第4张图片

 

这三道题执行时间都不是特别好,仅提供一种思路

 

你可能感兴趣的:(2.,算法)