LeetCodeブラッシングレコード:ハッシュマップ1.2つの数値の合計387。文字列の最初の一意の文字

1.2つの数値の合計

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

387.文字列の最初の一意の文字

map.getOrDefault()マップ内の指定されたキーの値を取得します。存在しない場合は、デフォルト値に設定します。

class Solution {
    public int firstUniqChar(String s) {
        HashMap<Character,Integer> map=new HashMap<>();
        for(int i=0;i<s.length();i++){
            Character c=s.charAt(i);
            map.put(c,map.getOrDefault(c,0)+1);
        }
        int result=0;
        for(int i=0;i<s.length();i++){
            Character c=s.charAt(i);
            if(map.get(c)==1)
                return i;
        }
        return -1;
    }
}

 

 

おすすめ

転載: blog.csdn.net/qq_41041762/article/details/107760603