news 2026/10/24 5:32:24

A.每日一题:2089. 找出数组排序后的目标下标

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
A.每日一题:2089. 找出数组排序后的目标下标

题目链接:2089. 找出数组排序后的目标下标(简单)

算法原理:

解法一:二分查找

6ms击败14.34%

时间复杂度O(n logn)

这是典型的 “最左端点模型”,可以通过最左端点模型找到等于 target 的第一个点,然后往后遍历,直至不等于 target,这个过程中记录下标,并返回,当然,如果没有 target,就返回空列表即可,下面这篇博客有系统的 二分查找模型知识⬇️

一轮复习——D.二分查找模型总结

解法二:一次遍历

0ms击败100.00%

时间复杂度O(N)

记录 nums 中小于 target 的个数为 less,等于 target 的个数为 equal

排序后,由于相同的数是连续的,那么等于 target 的第一个数的下标就是 less,最后一个数的下标就是 less+equal-1

Java代码:

class Solution { //2089. 找出数组排序后的目标下标 //解法一:二分查找 public List<Integer> targetIndices(int[] nums, int target) { //二分查找最左端点模型 int n=nums.length; List<Integer> ret=new ArrayList<>(); Arrays.sort(nums); int left=0,right=n-1; while(left<right){ int mid=left+(right-left)/2; if(nums[mid]<target) left=mid+1; else right=mid; } if(nums[left]!=target) return ret; while(left<n&&nums[left]==target) ret.add(left++); return ret; } }
class Solution { //2089. 找出数组排序后的目标下标 //解法二:一次遍历 public List<Integer> targetIndices(int[] nums, int target) { int less=0,equal=0; for(int x:nums){ if(x<target) less++; else if(x==target) equal++; } List<Integer> ret=new ArrayList<>(); for(int i=0;i<equal;i++) ret.add(less+i); return ret; } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/24 5:31:38

CFPS数据处理实战:政府转移支付清洗与分析

1. 项目概述&#xff1a;CFPS数据处理与政府转移支付分析在中国家庭追踪调查&#xff08;CFPS&#xff09;数据库的分析工作中&#xff0c;数据清洗环节往往占据整个研究过程的60%以上时间。作为国内最具代表性的微观调查数据库之一&#xff0c;CFPS的复杂数据结构让许多研究者…

作者头像 李华
网站建设 2026/10/24 5:31:36

Nginx + Keepalived 高可用以及Nginx HTTPS 部署---企业场景实战

企业生产环境 场景一&#xff1a;Nginx HTTPS 部署 需求&#xff1a;网站启用 HTTPS 加密访问。 要求&#xff1a; 1&#xff09;手动签发 SSL 证书 1. 准备工作&#xff1a;安装 Nginx 如果你还没有安装 Nginx&#xff0c;请按照以下步骤安装 Nginx&#xff1a; ①安装…

作者头像 李华
网站建设 2026/10/24 5:30:35

LLM-Enhanced Q-Learning for CVRPTW with Real-Time Urgency Constraints (arXiv:2505.06178)

### 文章主要内容本文针对带时间窗的车辆路径问题(CVRPTW),提出了一种结合大语言模型(LLM)和Q学习的增强框架,旨在解决具有实时紧急约束的CVRPTW问题。通过将LLM的语义推理能力与强化学习的迭代优化能力相结合,框架分为**LLM引导探索阶段**和**Q网络自主优化阶段**,并设…

作者头像 李华
网站建设 2026/10/24 5:29:01

【C++11】初识——右值引用和移动语义,可变参数模板

&#x1f308;个人主页&#xff1a;ꪔ小林Y ✨个人专栏&#xff1a;《C》&#xff0c;《C语言》&#xff0c;《数据结构入门——从原理到实战》,《拾光Linux》&#xff0c;《网络安全》 &#x1f340;代码信条&#xff1a;每一行代码都是成长的脚印&#x1f463;&#xff0c;每…

作者头像 李华
网站建设 2026/10/24 5:27:36

Python aiida-inq 包详解与实战案例

1. 引言aiida-inq 是一个基于 AiiDA 工作流框架的 Python 包&#xff0c;专门用于高通量第一性原理计算与材料性质分析。它把密度泛函理论计算、数据管理和结果后处理封装成可复用的工作流&#xff0c;帮助科研人员以声明式方式组织计算任务&#xff0c;并自动记录计算 provena…

作者头像 李华