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

选择排序_75. 颜色分类

75. 颜色分类 - 力扣(LeetCode)

题目不追求稳定 可以选择选择排序

这是我没看教程代码之前写的 有点复杂了 我还把元素后移了

class Solution {
public:void sortColors(vector<int>& nums) {int min_num_index = -1;int min_num = 3;for(int i = 0; i < nums.size(); ++i ){  //确保全部有序for (int j = i; j < nums.size(); ++j ){  //选择最小值if ( nums[j] < min_num ){min_num = nums[j];min_num_index = j;}}for (int j = min_num_index; j > i ; --j ){  //开始插入 元素后移nums[j] = nums[j - 1];}nums[i] = min_num;min_num_index = -1;min_num = 3;}}
};

其实可以直接交换位置就可以

将起始位置和最小元素交换 就可以了

实现如下

class Solution {void selectionSort( vector<int>& nums ){for ( int i = 0; i < nums.size(); ++i ){  //确保全部有序int min = i;for ( int j = i + 1; j < nums.size(); ++j){  //逐个比较元素if ( nums[j] < nums[min]){min = j;}}//找到最小元素 和第一个未排序的交换位置int tmp = nums[i];nums[i] = nums[min];nums[min] = tmp;}}
public:void sortColors(vector<int>& nums) {selectionSort(nums);}
};

http://www.lryc.cn/news/530909.html

相关文章:

  • C++ Primer 标准库vector
  • C# 数组和列表的基本知识及 LINQ 查询
  • 大厂面试题备份20250201
  • w191教师工作量管理系统的设计与实现
  • Git 版本控制:基础介绍与常用操作
  • 讲清逻辑回归算法,剖析其作为广义线性模型的原因
  • 数据结构(1)——算法时间复杂度与空间复杂度
  • K8s运维管理平台 - xkube体验:功能较多
  • spring源码阅读系列文章目录
  • 快速提升网站收录:利用网站新闻发布功能
  • 【14】WLC3504 HA配置实例
  • 什么是LPU?会打破全球算力市场格局吗?
  • 智慧物业管理系统实现社区管理智能化提升居民生活体验与满意度
  • Vue3 表单:全面解析与最佳实践
  • MySQl的日期时间加
  • 实战:如何利用网站日志诊断并解决收录问题?
  • 每日一题——有效括号序列
  • PyTorch数据建模
  • OpenAI 实战进阶教程 - 第二节:生成与解析结构化数据:从文本到表格
  • 二叉树--链式存储
  • Windows 中的 WSL:开启你的 Linux 之旅
  • 2.3学习总结
  • 前端力扣刷题 | 6:hot100之 矩阵
  • docker gitlab arm64 版本安装部署
  • 路径规划之启发式算法之二十九:鸽群算法(Pigeon-inspired Optimization, PIO)
  • 【AudioClassificationModelZoo-Pytorch】基于Pytorch的声音事件检测分类系统
  • 一文讲解Java中的ArrayList和LinkedList
  • CNN的各种知识点(五):平均精度均值(mean Average Precision, mAP)
  • 【优先算法】专题——前缀和
  • gitea - fatal: Authentication failed