首页 > 其他分享 >Leedcode-下一个更大元素 I

Leedcode-下一个更大元素 I

时间:2024-05-17 15:08:34浏览次数:12  
标签:num1 num2 元素 Leedcode ptr 更大 nums1 nums2

自己写的:

class Solution:
    def nextGreaterElement(self, nums1: List[int], nums2: List[int]) -> List[int]:
        res = []  # 结果列表,用于存储每个nums1中元素在nums2中的下一个更大元素
        num1_ptr = 0  # 指向nums1当前元素的指针
        num2_ptr = 0  # 指向nums2当前元素的指针
        num2_len = len(nums2)  # nums2的长度

        while num1_ptr < len(nums1):  # 遍历nums1中的每一个元素
            flag = True  # 用于标记是否找到下一个更大元素
            while nums2[num2_ptr] != nums1[num1_ptr]:  # 在nums2中寻找与当前nums1元素相同的元素
                num2_ptr += 1  # 移动nums2的指针
            while nums2[num2_ptr] <= nums1[num1_ptr]:  # 在nums2中寻找下一个更大的元素
                num2_ptr += 1  # 移动nums2的指针
                if num2_ptr == num2_len:  # 如果遍历到nums2的末尾还没有找到更大的元素
                    res.append(-1)  # 在结果列表中添加-1
                    num2_ptr = 0  # 重置nums2指针
                    flag = False  # 标记为未找到
                    break  # 退出当前循环
            if flag:  # 如果找到了更大的元素
                res.append(nums2[num2_ptr])  # 添加到结果列表
                num2_ptr = 0  # 重置nums2指针
            num1_ptr += 1  # 移动nums1的指针
        return res  # 返回结果列表

 

标签:num1,num2,元素,Leedcode,ptr,更大,nums1,nums2
From: https://www.cnblogs.com/yyyjw/p/18197803

相关文章

  • 基础元素化学速通指北-卤素
    前言感觉卤素很典啊。氟很反常,原因有以下几点:原子半径小,负电荷密度高;电负性大。正文物理性质要开张表写,有点难,先咕着。从氟到碘,分子间色散力增加。单质的密度,熔沸点,临界温度,汽化热等性质依次增加。氯易液化。碘常压下加热升华。高压下可导电。氟到碘颜色依次加深,原因是气......
  • 基础元素化学速通指北
    注意到标题旁边有一个目录氢前言氢是个非常神秘的元素。正文氢物理性质\(\ce{H_2}\)的熔沸点(沸点:\(20.28K\),熔点:\(13.95K\))和\(\ce{D_2}\)(沸点:\(23.38K\),熔点:\(17.75K\))不一样。\(273K\)时,\(1\)体积水中能溶解\(0.02\)体积氢。氢容易被镍、钯、铂等金属吸附。......
  • Leedcode-提莫攻击
    自己写的,中间算法有遗漏的遍历classSolution:deffindPoisonedDuration(self,timeSeries:List[int],duration:int)->int:ifduration==0:#如果duration为0,则返回0,因为没有中毒时间return0count=0#初始化中毒总时间......
  • vue给元素添加校验rules
    1.使用validator添加校验规则:在Elemengplus(Vue3版本的ElementPlus)框架中,给el-dialog中的input框添加日期格式验证,可以使用el-form和el-form-item组件来配合实现,并通过el-input组件的v-model绑定数据,结合el-form的验证规则rules实现。以下是一个简单的例子,演示如何给日期输入框......
  • Leedcode-构造矩形
    自己写的classSolution:defconstructRectangle(self,area:int)->List[int]:#计算给定面积的平方根root=area**0.5#初始化结果列表,默认为[1,area],即长为面积,宽为1的情况temp=[1,area]#如果面积是一个完全......
  • vue2使用elementUI组件el-tooltip指定元素进行提示信息(图标显示信息)
     <el-table-columnprop="operation"label="操作"borderwidth="200px"><templateslot-scope="scope"><divclass="operation-icons"><!......
  • Java 高效获取两个List中不同的元素集合
    /***借助Map来获取listA、listB的不同元素集合**@paramlistA集合A*@paramlistB集合B*@returnlist<String>不同元素集合*/publicstaticList<String>getDifferListByMap(List<String>listA,List<String>listB){List<String>differList=new......
  • Leedcode-最大连续 1 的个数
    自己写的:fromtypingimportListclassSolution:deffindMaxConsecutiveOnes(self,nums:List[int])->int:#初始化最大连续1的计数器和临时连续1的计数器count=0temp=0#获取列表长度n=len(nums)#初......
  • Leedcode-密钥格式化
    自己写的:classSolution:deflicenseKeyFormatting(self,s:str,k:int)->str:#将字符串转换为列表,方便操作new_S=list()#遍历输入字符串foriins:#如果当前字符不是'-',则添加到新列表中ifi!......
  • 使用 Playwright 进行元素定位
    前言在自动化测试和网页爬取中,定位页面元素是一项重要的任务。Playwright提供了多种方式来定位页面元素,包括通过CSS选择器、XPath和文本内容等。在本文中,我们将介绍如何使用Playwright进行元素定位。CSS选择器定位元素使用CSS选择器是一种常见且灵活的方式来定位页面......