• 1206. 下一个更大的数 I


    1206. 下一个更大的数 I

    中文English

    你有两个数组 nums1nums2(互不重复),其中nums1nums2的子集。 在nums2的相应位置找到nums1所有元素的下一个更大数字。

    nums1中的数字x的下一个更大数字是nums2中x右边第一个更大的数字。 如果它不存在,则为此数字输出-1。

    样例

    例子 1:

    输入: nums1 = [4,1,2], nums2 = [1,3,4,2].
    输出: [-1,3,-1]
    解释:
         对于第一个数组中的数字4,在第二个数组中找不到下一个更大的数字,因此输出-1。
         对于第一个数组中的数字1,第二个数组中的下一个更大数字是3。
         对于第一个数组中的数字2,第二个数组中没有下一个更大的数字,因此输出-1。
    

    例子 2:

    输入: nums1 = [2,4], nums2 = [1,2,3,4].
    输出: [3,-1]
    解释:
         对于第一个数组中的数字2,第二个数组中的下一个更大数字是3。
         对于第一个数组中的数字4,第二个数组中没有下一个更大的数字,因此输出-1。
    

    注意事项

    1.nums1nums2中的所有数字都是唯一的。
    2.nums1nums2的长度不超过1000。

    输入测试数据 (每行一个参数)如何理解测试数据?
    class Solution:
        """
        @param nums1: an array
        @param nums2: an array
        @return:  find all the next greater numbers for nums1's elements in the corresponding places of nums2
        """
        '''
        大致思路:
        1.循环nums1,首先在nums2中找到num1中出现的数字,然后循环接下来的数组,找到更大的数,如果存在,则返回。否则返回-1.
        '''
        def nextGreaterElement(self,nums1,nums2):
            res = []
            for i in nums1:
                index_i = nums2.index(i)
                s = nums2[index_i:]
                for j in range(len(s)):
                    if s[j] > i:
                        res.append(s[j])
                        break
                else:
                    res.append(-1)
            return res
  • 相关阅读:
    产生随机不重复ID
    .NET 中使用 SQlite 数据库_1.新数据库的创建
    WCF 服务IIS部署 SvcUtil.exe 工具文件地址 及 生成代理类命令
    查看进程占用各字段含义
    内存溢出
    Python 正则表达式使用问题集锦
    Ninja编译过程分析
    git 命令使用集锦
    使用aapt查看当前apk的属性
    Android PowerManager电源管理(Android N )
  • 原文地址:https://www.cnblogs.com/yunxintryyoubest/p/12727886.html
Copyright © 2020-2023  润新知