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

【Hot100】LeetCode—75. 颜色分类

目录

  • 1- 思路
    • 题目识别
    • 技巧
  • 2- 实现
    • 75. 颜色分类——题解思路
  • 3- ACM 实现


  • 原题链接:75. 颜色分类

1- 思路

题目识别

  • 识别1 :给定三种类型数据,使得三种数据用一次遍历实现三种数据排序。

技巧

  • 用两条线将数组分为三部分
  • A 线左侧,保证数据都为 0 ;B 线右侧保证元素都是 2。


2- 实现

75. 颜色分类——题解思路

在这里插入图片描述

class Solution {public void sortColors(int[] nums) {int left = 0;int right = nums.length-1;for(int i = 0 ; i <= right;i++){if(nums[i] == 0){swap(nums,i,left++);}else if(nums[i] == 2){swap(nums,i--,right--);}}}private void swap(int[] nums,int i,int j){int tmp = nums[i];nums[i] = nums[j];nums[j] = tmp;}
}

3- ACM 实现

public class sortColors {public static void sortC(int[] nums){int left = 0;int right = nums.length-1;for(int i = 0 ; i <= right;i++){if(nums[i] == 0){swap(nums,i,left++);}else if(nums[i] == 2){swap(nums,i--,right--);}}}private static void swap(int[] nums,int i ,int j){int tmp = nums[i];nums[i] = nums[j];nums[j] = tmp;}public static void main(String[] args) {Scanner sc = new Scanner(System.in);String input = sc.nextLine();input = input.replace("[","").replace("]","");String[] parts = input.split(",");int[] nums = new int[parts.length];for(int i= 0 ; i < nums.length;i++){nums[i] = Integer.parseInt(parts[i]);}sortC(nums);System.out.println("结果是");for(int i : nums){System.out.print(i+" ");}}
}
http://www.lryc.cn/news/437676.html

相关文章:

  • 【物联网技术大作业】设计一个智能家居的应用场景
  • ESP8266做httpServer提示Header fields are too long for server to interpret
  • jmeter设置全局token
  • DORIS - DORIS之索引简介
  • Java 串口通信—收发,监听数据(代码实现)
  • fileinput pdf编辑初始化预览
  • 微信支付开发-需求整理及需求设计
  • vs code: pnpm : 无法加载文件 C:\Program Files\nodejs\pnpm.ps1,因为在此系统上禁止运行脚本
  • web测试必备技能:浏览器兼容性测试
  • 《数据资产管理核心技术与应用》首次大型赠书活动圆满结束
  • vue在一个组件引用其他组件
  • 软件测试学习笔记丨Postman实战练习
  • kubernetes微服务基础及类型
  • linux-L3_linux 查看进程(node-red)
  • 区块链之变:揭秘Web3对互联网的改变
  • SAP B1 Web Client MS Teams App集成连载一:先决条件/Prerequisites
  • 去除单细胞数据中环境游离的RNA污染-decontX工具学习
  • Games101图形学笔记——光栅化
  • 2024年汉字小达人区级自由报名的几个最新问题和真题练一练
  • 从简单分析到智能问数,Smartbi AIChat让数据回归业务
  • 基于SpringBoot+Vue+MySQL的考编论坛网站
  • SpringSecurity剖析
  • 一文搞懂 Flink Graph 构建过程源码
  • 【spring】IDEA 新建一个spring boot 项目
  • LeetCode[简单] 搜索插入位置
  • (代码可运行)Bootstrap框架的HTML示例
  • IntelliJ IDEA 2024创建Java项目
  • Python之 条件与循环(Python‘s Conditions and loops)
  • C++学习,多态纯虚函数
  • 飞速(FS)与西门子联合打造交换机自动化灌装测试生产线