首页 > 其他分享 >34. 在排序数组中查找元素的第一个和最后一个位置

34. 在排序数组中查找元素的第一个和最后一个位置

时间:2024-09-19 12:51:20浏览次数:14  
标签:target nums int 位置 34 查找 列表 排序

在这里插入图片描述
思路

先判断target是否存在列表中,不存在直接输出
存在,则找出第一个等于target值的列表位置,即目标值在列表中的开始位置
接着在当前位置继续往下查找,找到最后一个目标值等于列表值的位置
(也可用二分查找找到等于target值的位置+往前、往后找到开始、结束位置,但会超限,可参考(用js写的):https://blog.csdn.net/huanxianxianshi/article/details/101203307

class Solution(object):
    def searchRange(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        s = set(nums)
        t =[]
        if target not in s:
            return [-1,-1]
        i = nums.index(target)
        t.append(i)
        while i<len(nums) and nums[i]==target:
            i=i+1
        t.append(i-1)
        return t

标签:target,nums,int,位置,34,查找,列表,排序
From: https://blog.csdn.net/huanxianxianshi/article/details/142357390

相关文章

  • 算法设计与分析(合并排序
    目录归并排序(MergeSort)的C++实现源代码解释结果小结:归并排序(MergeSort)的C++实现归并排序是一种分而治之的算法,它将数组分成两半,对每半部分递归地应用归并排序,然后将排序好的两半合并成一个有序的数组。以下是一个归并排序的C++实现。源代码#include<iostream>usingnames......
  • 算法设计与分析(二分查找算法
    目录二分查找算法详解引言算法步骤代码实现注意事项结论小结:二分查找算法详解引言二分查找算法是一种在有序数组中查找特定元素的搜索算法。它通过不断将数组分成两半,缩小搜索范围,从而快速定位到目标元素的位置。二分查找算法的时间复杂度为O(logn),其中n是数组的长度。算法步骤......
  • 二叉 查找 树
    目录WhyneedBinaryTree?树也是节点结构规定术语树的创建树的查找查找效率WhyneedBinaryTree?有时候,我们希望数据按照特定顺序排列。比如:想要按字母顺序排列人名;按价格顺序排列产品;...树也是节点结构规定二叉树的每个节点的子节点数量都是0、1、2;每个节点最......
  • C++ 逆向之 main 函数的查找
    在整个程序的逆向分析过程中,寻找main函数是逆向分析过程的第一步,程序的主要逻辑从这里展开。这里面涉及到两个概念:用户入口(UserEntryPoint)和应用程序入口(ApplicationEntryPoint)。用户入口用户入口是开发者编写的用于程序开始的函数。对于大多数C/C++程序而言,这个入......
  • 基于Web宠物用品管理系统---附源码78346
    目录摘要1绪论1.1选题背景与意义1.2国内外研究现状1.3论文结构与章节安排2系统分析2.1可行性分析2.2系统流程分析2.2.1系统开发流程2.2.2用户登录流程2.2.3系统操作流程2.2.4添加信息流程2.2.5修改信息流程2.2.6删除信息流程2.3 系......
  • mysql查询字段排序规则、数据库编码、表编码,修改排序规则
    查询字段排序规则、数据库编码、表编码SELECTTABLE_CATALOG,TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME,COLLATION_NAMEFROMINFORMATION_SCHEMA.COLUMNS 表字段修复#改变字段数据字符集、排序规则SELECTTABLE_SCHEMA'数据库',TABLE_NAME'表',CO......
  • LOJ #3490. 「JOISC 2021 Day2」逃跑路线
    Description在IOI王国,人们使用Byou作为时间单位。IOI王国中的一天被分为了\(S\)个时间单位。每天从最开始经过\(x\(0\lex<S)\)Byou后的时间称为时刻\(x\)。IOI王国由\(N\)个城市组成,以\(0\)到\(N-1\)编号。其中有\(M\)条双向道路连接某些城市,以\(0\)......
  • 南沙C++信奥老师解一本通题:1337:【例3-2】单词查找树
    ​【题目描述】在进行文法分析的时候,通常需要检测一个单词是否在我们的单词列表里。为了提高查找和定位的速度,通常都画出与单词列表所对应的单词查找树,其特点如下:1.根结点不包含字母,除根结点外每一个结点都仅包含一个大写英文字母;2.从根结点到某一结点,路径上经过的字母依次连起......
  • C#——LINQ to XML(使用 Descendants 方法查找单个子代)
    xml位于命名空间中时查找staticvoidMain(string[]args){XElementroot=XElement.Parse(@"<aw:Rootxmlns:aw='http://www.efun.com'><aw:Child1><aw:GrandChild1>GC1Value</aw:GrandChild1>&l......
  • C#——LINQ to XML(内容快速查找)
    staticvoidMain(string[]args){XElementpurchaseOrder=XElement.Load("Contacts.xml");stringpartNos=(string)(fromiteminpurchaseOrder.Descendants("City")......