前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode 1394. 找出数组中的幸运数

LeetCode 1394. 找出数组中的幸运数

作者头像
村雨遥
发布2020-04-10 14:15:39
3480
发布2020-04-10 14:15:39
举报
文章被收录于专栏:JavaParkJavaPark

题目

1394. 找出数组中的幸运数[1]

描述

代码语言:javascript
复制
在整数数组中,如果一个整数的出现频次和它的数值大小相等,我们就称这个整数为「幸运数」。

给你一个整数数组 arr,请你从中找出并返回一个幸运数。

如果数组中存在多个幸运数,只需返回 最大 的那个。
如果数组中不含幸运数,则返回 -1 。
 
示例 1:

输入:arr = [2,2,3,4]
输出:2
解释:数组中唯一的幸运数是 2 ,因为数值 2 的出现频次也是 2 。
示例 2:

输入:arr = [1,2,2,3,3,3]
输出:3
解释:1、2 以及 3 都是幸运数,只需要返回其中最大的 3 。
示例 3:

输入:arr = [2,2,2,3,3]
输出:-1
解释:数组中不存在幸运数。
示例 4:

输入:arr = [5]
输出:-1
示例 5:

输入:arr = [7,7,7,7,7,7,7]
输出:7

解题思路

  1. 定义一个集合set,用于存放幸运数;
  2. 两次遍历数组,同时在定义一个变量count用于计数;
  3. 判断频次和数值大小是否相等,相等则加入集合set
  4. 跳出循环后,判断集合set是否为空,不为空则返回集合中的最大值;
  5. 默认返回-1,即数组中不含幸运数;

实现

代码语言:javascript
复制
package Array;

import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

/**
 * Created with IntelliJ IDEA.
 * Version : 1.0
 * Author  : cunyu
 * Email   : cunyu1024@foxmail.com
 * Website : https://cunyu1943.github.io
 * Date    : 2020/4/3 15:21
 * Project : LeetCode
 * Package : Array
 * Class   : OneThreeNineFour
 * Desc    : 1394. 找出数组中的幸运数
 */
public class OneThreeNineFour {
	public static void main(String[] args) throws Exception {
		int[] arr = {2};
		OneThreeNineFour oneThreeNineFour = new OneThreeNineFour();
		System.out.println(oneThreeNineFour.findLucky(arr));
	}

	public int findLucky(int[] arr) {
		Set<Integer> set = new HashSet<>();
		for (int i = 0; i < arr.length; i++) {
			int count = 0;
			for (int j = 0; j < arr.length; j++) {
				if (arr[i] == arr[j]) {
					count++;
				}
			}
			if (count == arr[i]) {
				set.add(count);
			}
		}

		if (!set.isEmpty()) {
			return Collections.max(set);
		}
		return -1;
	}
}

参考资料

[1] 1394. 找出数组中的幸运数: https://leetcode-cn.com/problems/find-lucky-integer-in-an-array/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 村雨遥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目
  • 描述
  • 解题思路
  • 实现
    • 参考资料
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档