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
  • 相关阅读:
    第一次上机作业
    第一次作业
    信号
    进程基础
    计算机网络(第七版)谢希仁编著 第四章课后答案详解
    shell脚本编程
    关于linux安装软件(Ubuntu)时遇见的常见问题处理
    Linux系统C语言开发环境学习
    LINUX下安装中文输入法
    处理《无法获得锁 /var/lib/dpkg/lock
  • 原文地址:https://www.cnblogs.com/seyjs/p/14794719.html
Copyright © 2011-2022 走看看