zoukankan      html  css  js  c++  java
  • 1394. Find Lucky Integer in an Array

    Given an array of integers arr, a lucky integer is an integer which has a frequency in the array equal to its value.

    Return a lucky integer in the array. If there are multiple lucky integers return the largest of them. If there is no lucky integer return -1.

    Example 1:

    Input: arr = [2,2,3,4]
    Output: 2
    Explanation: The only lucky number in the array is 2 because frequency[2] == 2.
    

    Example 2:

    Input: arr = [1,2,2,3,3,3]
    Output: 3
    Explanation: 1, 2 and 3 are all lucky numbers, return the largest of them.
    

    Example 3:

    Input: arr = [2,2,2,3,3]
    Output: -1
    Explanation: There are no lucky numbers in the array.
    

    Example 4:

    Input: arr = [5]
    Output: -1
    

    Example 5:

    Input: arr = [7,7,7,7,7,7,7]
    Output: 7
    

    Constraints:

    • 1 <= arr.length <= 500
    • 1 <= arr[i] <= 500

    先排序,拿map存频率,再从大到小查有没有相等的,因为题目说了如果有多个number返回最大的。

    class Solution {
        public int findLucky(int[] arr) {
            Arrays.sort(arr);
            Map<Integer, Integer> map = new HashMap();
            for(int i: arr){
                map.put(i, map.getOrDefault(i,0) + 1);
            }
            for(int i = arr.length - 1; i > -1; i--){
                if(map.get(arr[i]) == arr[i]) return arr[i];
            }
            return -1;
        }
    }
  • 相关阅读:
    226. 翻转二叉树
    LeetCode 1660.纠正二叉树(Medium)
    814. 二叉树剪枝
    110. 平衡二叉树
    HTTPS原理浅析
    MySQL知识网络
    制作SSL证书(签发免费证书)
    Redis高可用三(Redis Cluster集群)
    Redis高可用二( 哨兵sentinel)
    Redis高可用一(主从)
  • 原文地址:https://www.cnblogs.com/wentiliangkaihua/p/12710095.html
Copyright © 2011-2022 走看看