zoukankan      html  css  js  c++  java
  • 【leetcode】1608. Special Array With X Elements Greater Than or Equal X

    题目如下:

    You are given an array nums of non-negative integers. nums is considered special if there exists a number x such that there are exactly x numbers in nums that are greater than or equal to x.

    Notice that x does not have to be an element in nums.

    Return x if the array is special, otherwise, return -1. It can be proven that if nums is special, the value for x is unique.

    Example 1:

    Input: nums = [3,5]
    Output: 2
    Explanation: There are 2 values (3 and 5) that are greater than or equal to 2.
    

    Example 2:

    Input: nums = [0,0]
    Output: -1
    Explanation: No numbers fit the criteria for x.
    If x = 0, there should be 0 numbers >= x, but there are 2.
    If x = 1, there should be 1 number >= x, but there are 0.
    If x = 2, there should be 2 numbers >= x, but there are 0.
    x cannot be greater since there are only 2 numbers in nums.
    

    Example 3:

    Input: nums = [0,4,3,0,4]
    Output: 3
    Explanation: There are 3 values that are greater than or equal to 3.
    

    Example 4:

    Input: nums = [3,6,7,7,0]
    Output: -1

    Constraints:

    • 1 <= nums.length <= 100
    • 0 <= nums[i] <= 1000

    解题思路:送分题。先对数组排序,然后从0~1001依次尝试就行了。

    代码如下:

    class Solution(object):
        def specialArray(self, nums):
            """
            :type nums: List[int]
            :rtype: int
            """
            nums.sort()
            for i in range(0,nums[-1] + 1):
                while i > nums[0]:
                    nums.pop(0)
                if len(nums) == i:return i
            return -1
  • 相关阅读:
    java监控Linux磁盘空间的使用情况
    报道篇
    标签详解
    selectors模块
    [Python 多线程] RLock可重入锁
    Mysql中索引的 创建,查看,删除,修改
    openpyxl模块的使用
    Oracle中row_number()、rank()、dense_rank() 的区别
    python面试题
    sql 用Group by分组后,取每组的前几条记录
  • 原文地址:https://www.cnblogs.com/seyjs/p/14794719.html
Copyright © 2011-2022 走看看