返回介绍

solution / 2200-2299 / 2229.Check if an Array Is Consecutive / README

发布于 2024-06-17 01:03:08 字数 2933 浏览 0 评论 0 收藏 0

2229. 检查数组是否连贯

English Version

题目描述

给你一个整数数组 nums ,如果 nums 是一个 连贯数组 ,则返回 true ,否则返回 false

如果数组包含 [x, x + n - 1] 范围内的所有数字(包括 xx + n - 1 ),则该数组为连贯数组;其中 x 是数组中最小的数,n 是数组的长度。

 

示例 1:

输入:nums = [1,3,4,2]
输出:true
解释:
最小值是 1 ,数组长度为 4 。
范围 [x, x + n - 1] 中的所有值都出现在 nums 中:[1, 1 + 4 - 1] = [1, 4] = (1, 2, 3, 4) 。
因此,nums 是一个连贯数组。

示例 2:

输入:nums = [1,3]
输出:false
解释:
最小值是 1 ,数组长度为 2 。 
范围 [x, x + n - 1] 中的所有值没有都出现在 nums 中:[1, 1 + 2 - 1] = [1, 2] = (1, 2) 。 
因此,nums 不是一个连贯数组。 

示例 3:

输入:nums = [3,5,4]
输出:true
解释:
最小值是 3 ,数组长度为 3 。
范围 [x, x + n - 1] 中的所有值都出现在 nums 中:[3, 3 + 3 - 1] = [3, 5] = (3,4,5) 。
因此,nums 是一个连贯数组。

 

提示:

  • 1 <= nums.length <= 105
  • 0 <= nums[i] <= 105

解法

方法一

class Solution:
  def isConsecutive(self, nums: List[int]) -> bool:
    mi, mx = min(nums), max(nums)
    n = len(nums)
    return len(set(nums)) == n and mx == mi + n - 1
class Solution {
  public boolean isConsecutive(int[] nums) {
    int mi = nums[0];
    int mx = nums[0];
    Set<Integer> s = new HashSet<>();
    for (int v : nums) {
      mi = Math.min(mi, v);
      mx = Math.max(mx, v);
      s.add(v);
    }
    int n = nums.length;
    return s.size() == n && mx == mi + n - 1;
  }
}
class Solution {
public:
  bool isConsecutive(vector<int>& nums) {
    unordered_set<int> s(nums.begin(), nums.end());
    int mi = *min_element(nums.begin(), nums.end());
    int mx = *max_element(nums.begin(), nums.end());
    int n = nums.size();
    return s.size() == n && mx == mi + n - 1;
  }
};
func isConsecutive(nums []int) bool {
  s := map[int]bool{}
  mi, mx := slices.Min(nums), slices.Max(nums)
  for _, x := range nums {
    s[x] = true
  }
  return len(s) == len(nums) && mx == mi+len(nums)-1
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文