2021-12-16 力扣(哈希表,集合)

2021-12-16 力扣(哈希表,集合),第1张

2021-12-16 力扣(哈希表,集合) 1. 217存在重复元素(不用刷了)


answer:

public boolean containsDuplicate(int[] nums) {
        if (nums.length <= 1)
            return false;
        Set set = new HashSet<>();
        for (int n : nums) {
            if (!set.add(n)) return true;
        }
        return false;
    }
2. 389找不同


answer:
char类型的运算以ASCII码形式(即数字);
b-a是一个数字,需转回成char类型;

public char findTheDifference(String s, String t) {
        int a = 0;
        int b = 0;
        for (char c : s.toCharArray()) {
            a += c;
        }
        for (char c : t.toCharArray()) {
            b += c;
        }
        return (char)(b-a);
    }
3. 705设计哈希集合


answer:
用list实现的,性能拉跨!

	private List list;
    public MyHashSet() {
        list = new ArrayList<>();
    }
    
    public void add(int key) {
        if (list.contains(key))
            return;
        list.add(key);
    }
    
    public void remove(int key) {
        for (int i =0; i < list.size(); i++) {
            if (list.get(i) == key) {
                list.remove(i); // 重点!!!! 移除的是索引i;
                break;
            }
        }
    }
    
    public boolean contains(int key) {
        return list.contains(key);
    }

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5671233.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存