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;
        }
    }
  • 相关阅读:
    jQuery.ajax()方法笔记
    Docker安装
    Linux下Nginx+keepalived实现高可用
    Linux安装Nginx
    Redis主从、哨兵、Cluster特性
    Linux搭建redis集群
    Linux搭建redis单机
    HashMap知识总结(jdk1.8)
    如何避免form提交进行页面跳转
    异步上传文件,jquery+ajax,显示进度条
  • 原文地址:https://www.cnblogs.com/wentiliangkaihua/p/12710095.html
Copyright © 2011-2022 走看看