当前位置: 首页 > news >正文

Leecode---技巧---颜色分类、下一个排列、寻找重复数

在这里插入图片描述
思路:
遍历一遍记录0,1,2的个数,然后再遍历一次,按照0,1,2的个数修改nums即可。

class Solution
{
public:void sortColors(vector<int>& nums){int n0 = 0, n1 = 0, n2 = 0;for(int x: nums){if(x==0) n0++;else if(x==1) n1++;else n2++;}for(int i=0; i<nums.size();i++){if(i < n0)nums[i] = 0;else if(i < n0+n1)nums[i] = 1;elsenums[i] = 2;}}
};

在这里插入图片描述
在这里插入图片描述
思路:
在这里插入图片描述

class Solution
{
public:void nextPermutation(vector<int>& nums){int cur = nums.size()-2;while(cur>=0 && nums[cur] >= nums[cur+1])  // 前面大于后面{cur--;}if(cur < 0)		// 已经是最大数组了{// sort排序为升序排序,为数组最小值sort(nums.begin(),nums.end());}// 表示找到了降序的一个位置else{int pos = nums.size()-1;while(nums[pos] <= nums[])}}
};

在这里插入图片描述
思路:
使用二分法解题,具体看代码。

class Solution
{
public:int findDuplicate(vector<int>& nums){int n = nums.size()-1, start = 0, end = n;while(start < end){int mid = start + (end - start) / 2; // 防止溢出int count = 0;for(int n:nums){//统计[1,mid]区间的数字个数if(n <= mid)  count++;}//[1,mid]区间的数字如果大于mid,说明重复数字在区间[start,mid]中if(count > mid)   end = mid;//反之重复区间在[mid+1,end]else   start = mid + 1;}//当start等于mid时,返还重复数字return start;}
};
http://www.lryc.cn/news/361776.html

相关文章:

  • ERC-7401:嵌套 NFT 标准的全新篇章
  • 代码随想录算法训练营Day6| 242.有效的字母异位词、349. 两个数组的交集、202. 快乐数、1. 两数之和
  • 三十四、openlayers官网示例Dynamic clusters解析——动态的聚合图层
  • SpringBoot登录认证--衔接SpringBoot案例通关版
  • vue3状态管理,pinia的使用
  • 入门到实践,手把手教你用AI绘画!
  • 大模型应用框架-LangChain
  • 探索Linux中的强大文本处理工具——sed命令
  • 冯喜运:6.3黄金原油晚间最新行情及独家操作策略指导
  • Spark_SparkOnHive_海豚调度跑任务写入Hive表失败解决
  • SaaS 电商设计 (十一) 那些高并发电商系统的限流方案设计
  • 【算法】MT2 棋子翻转
  • 头颈肿瘤在PET/CT中的分割:HECKTOR挑战赛| 文献速递-深度学习肿瘤自动分割
  • Kafka重平衡导致无限循环消费问题
  • 执行shell脚本时为什么要写成./test.sh,而不是test.sh?
  • 【人工智能】第一部分:ChatGPT的基本概念和技术背景
  • 雪花算法详解及源码分析
  • Golang TCP网络编程
  • 先进制造aps专题十 aps项目成功指南
  • 实现Dropdown下拉菜单监听键盘上下键选中功能-React
  • Ubuntu系统升级k8s节点的node节点遇到的问题
  • 前端将DOM元素导出为图片
  • 变现 5w+,一个被严重低估的 AI 蓝海赛道,居然用这个免费的AI绘画工具就能做!
  • Ubuntu server 24 (Linux) 安装部署smartdns 搭建智能DNS服务器
  • 正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-24.5,6 SPI驱动实验-ICM20608 ADC采样值
  • 安装vllm的时候卡主:Collecting vllm-nccl-cu12<2.19,>=2.18 (from vllm)
  • O2O : Finetuning Offline World Models in the Real World
  • 嵌入式学习(Day:31 网络编程2:TCP)
  • 正则表达式 0.1v
  • 免费的仓库出入库管理软件有哪些?