Python3 发表于 2020-8-31 20:01

KanaiYuu 发表于 2020-9-3 21:54

白班编程一般都是写伪代码,逻辑对就行了

ohi 发表于 2020-9-3 22:08

-SLSL- 发表于 2020-9-3 22:12

派森侠你来辣

すぴぱら 发表于 2020-9-3 22:27

处男鉴黄师 发表于 2020-9-3 22:57

精钢魔像 发表于 2020-9-3 23:46

多熟悉下标准库的容器

遍历数组放进dict里,如果key不存在就赋值1,存在累加1
遍历完后给值做个排序,取后两个就完事了

果壳中的松鼠 发表于 2020-9-3 23:54

哈希表,请

ustc 发表于 2020-9-4 00:34

本帖最后由 ustc 于 2020-9-4 00:40 编辑

lz知道hashmap吗?在python里好像是dict?这种真算easy的了,不过这题不严谨,重复次数有3个即以上相同没说怎么处理,那我也不管了

class Solution {
    public List<Integer>find123(int[] a) {
      //没说怎么处理,那就直接返回null了
      if (a == null || a.length < 3) {return null;}
      int max = 0; int secondMax = 0;
      Map<Integer, Integer> map = new HashMap<>();
      List<Integer> ans = new ArrayList<>();

      for (int i: a) {
            int count = 0;
            if (map.containsKey(i)) {
                count = 1+map.get(i);
            } else {
                count = 1;
            }
            map.put(i, count);
            if (count > max) { secondMax = max; max = count;}
            else if (count == max) {secondMax = max;}
            else if (count < max && count > secondMax) {secondMax =count;}
      }

      for (Map.Entry<Integer, Integer> entry: map.entrySet()) {
            if (entry.getValue() == max || entry.getValue() == secondMax) {
                ans.add(entry.getKey());
            }
      }
   return ans;
    }
}

hein 发表于 2020-9-4 09:18

本帖最后由 hein 于 2020-9-5 10:02 编辑

为什么不用正则呢

exia00raiser 发表于 2020-9-4 09:42

页: [1]
查看完整版本: *