1.题目描述

在这里插入图片描述

2.思路

在这里插入图片描述

3.代码实现

class Solution {public void sortColors(int[] nums) {int low = 0;           // 下一个 0 应该放的位置int mid = 0;           // 当前检查的位置int high = nums.length - 1; // 下一个 2 应该放的位置while (mid <= high) {if (nums[mid] == 0) {          // 把 0 放到前面swap(nums, low, mid);low++;mid++;} else if (nums[mid] == 2) {   // 把 2 放到后面swap(nums, mid, high);high--;                    // mid 不加,让换来的元素再检查} else {                       // nums[mid] == 1mid++;                     // 1 留在中间}}}private void swap(int[] arr, int i, int j) {int tmp = arr[i];arr[i] = arr[j];arr[j] = tmp;}
}

带测试方法

public class H75 {public int[] sortColors(int[] nums) {//指向下一个0的位置int left=0;// 当前检查的位置,扫描数组的元素int mid=0;//指向最后一个位置int right=nums.length-1;while(mid<=right){if(nums[mid]==2){//把2放在后面swap(nums,mid,right);right--;}else if(nums[mid]==0) {// 把 0 放到前面swap(nums, mid, left);mid++;left++;}else{//  // nums[mid] == 1mid++;//直接遍历下一个1元素,但是mid指针不能大于right指针}}return nums;}private void swap(int[] arr, int i, int j) {int tmp=arr[i];arr[i]=arr[j];arr[j]=tmp;}public static void main(String[] args){H75 test=new H75();int[] nums={2,0,2,1,1,0};int[] res=test.sortColors(nums);//System.out.println(res);for(int num:res){System.out.println(num+" ");}}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/86016.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/86016.shtml
英文地址,请注明出处:http://en.pswp.cn/web/86016.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用markRaw实例化echarts对象

在Vue 3中&#xff0c;markRaw 函数用于标记一个对象&#xff0c;使其永远不会转换为响应式代理。在 this.chart markRaw(echarts.init(chartDom)); 这行代码中&#xff0c;加与不加 markRaw 的主要区别在于Vue是否会将ECharts实例转换为响应式对象。以下是详细分析&#xff1…

硬件-DAY08(中断)

一、蜂鸣器学习&#xff08;中断&#xff09; 二、BSP工程管理 利用BSP工程管理&#xff0c;使文档显示不杂乱&#xff1b; 将这些文件分为4类&#xff0c;并保存到4个不同的文件夹里。 首先在新的工程文件夹里创建一个之后我们编写的类似led驱动&#xff0c;clk驱动等等外设驱…

【Datawhale组队学习202506】YOLO-Master task04 YOLO典型网络模块

系列文章目录 文章目录 系列文章目录前言4.1 DFL 模块4.1.1 DFL的核心思想 4.2 SPP 模块4.2.1 核心思想 4.3 SPPF 模块4.3.1 核心思想 总结 前言 Datawhale是一个专注于AI与数据科学的开源组织&#xff0c;汇集了众多领域院校和知名企业的优秀学习者&#xff0c;聚合了一群有开…

springboot中表是以int为主键id的,写了一个生成不重复id的方法

【初衷】 由于系统改造&#xff0c;之前的单应用改成了分布式应用&#xff0c;但是系统底层在搭建的时候部分关联id定义为了int类型&#xff0c;导致分布式id生成的long类型无法插入到int中&#xff0c;且由于是多系统部署&#xff0c;为了把损失降到最低&#xff0c;故此决定…

天气查询API集成指南

天气查询API集成指南 引言 在互联网和移动应用快速发展的今天&#xff0c;天气查询API已经成为开发人员构建各种应用程序时不可或缺的工具之一。无论是为用户提供日常出行建议、帮助农民规划农作时间&#xff0c;还是支持物流行业优化配送路线&#xff0c;实时且准确的天气信息…

AI 产品部署和交付的基础设施——全景解析

当然可以&#xff01;以下是对“AI产品部署和交付的基础设施”主题的详细内容扩展&#xff0c;适合介绍给同事&#xff0c;帮助大家系统性理解AI落地的全流程和关键要素。 AI产品部署和交付的基础设施——全景解析 各位同事&#xff0c;随着AI技术的飞速发展&#xff0c;AI产品…

Linux C 目录基本操作

需要引用的头文件 #include <unistd.h> unistd.h 为程序提供了对POSIX操作系统API的访问接口&#xff0c;主要用于提供与系统调用相关的功能。 char *getcwd(char *buf, size_t size); 用于获取当前工作目录&#xff08;Current Working Directory&#xff09;的绝对…

关于二分和分治的详细讲解(从属于GESP五级)

本章内容 二分 分治 当你把疑惑一劈为二&#xff0c;困境就只剩下一半。 一、二分查找 1. 何谓“二分”&#xff1f; “二分”本质是一种 对单调现象反复折半 的搜索思想。 单调现象&#xff1a;随变量增大&#xff0c;目标状态只会保持“假→真”或“真→假”一次性跃迁…

程序猿成长之路之数据挖掘篇——聚类算法介绍

作为无监督学习算法的基础&#xff0c;学好聚类算法很关键&#xff0c;我之前介绍过kmeans聚类算法&#xff0c;现在系统的介绍一下聚类算法 1. 什么是分类 日常生活中我们会经常见到分类的情况&#xff0c;如家里大扫除时给物品归类&#xff0c;超市货架上商品分类等。分类就…

PostgreSQL 性能优化与集群部署:PGCE 认证培训实战指南

&#xff5c;深夜被数据库报警惊醒&#xff1f; &#xff5c;海量数据查询卡死业务&#xff1f; &#xff5c;主库宕机导致服务中断&#xff1f; 如果你正被这些PostgreSQL生产难题困扰&#xff0c;是时候系统掌握数据库内核优化与高可用架构了&#xff01;深度求索联合PG分会…

Java 对象映射 数据库表映射 工具类 两个对象/表实现映射转换

场景&#xff1a;需要将一个对象的各个字段中的数据映射到另一个对象的字段数据中&#xff0c;或将一个数据库表映射到另一张表中。 本文使用泛型编程实现了一个对象映射功能的工具类。 需要源对象&#xff0c;映射关系map&#xff0c;目标类。由于是动态的类&#xff0c;所以…

Linux离线搭建Jenkins

Linux离线搭建Jenkins(centos7) Jenkins简介: Jenkins只是一个平台&#xff0c;真正运作的都是插件。这就是jenkins流行的原因&#xff0c;因为jenkins什么插件都有&#xff0c;Hudson是Jenkins的前身&#xff0c;是基于Java开发的一种持续集成工具&#xff0c;用于监控程序重…

从零学习linux(2)——管理

一.用户管理 1.用户属性 用户名、口令、用户ID&#xff08;UID&#xff09;、用户主目录&#xff08;HOME&#xff09;、用户shell 2. 3. 4.adduser添加用户 语法&#xff1a;adduser 用户名 如# adduser superw 添加用户名为superw的新用户 5.deluser删除用户 语法&am…

《贵州棒垒球》有什么国家级比赛·棒球1号位

中国国家级棒球比赛盘点 | 小白入门指南 3月 | 中国棒球联赛 (China Baseball League) 国内最高水平职业联赛&#xff0c;各省市职业队角逐冠军&#xff01; 英文&#xff1a;Top-tier professional event with teams nationwide. 5月 | 全国青年棒球锦标赛 (National Youth …

该项目名为“EduPal“,AI推荐

## 完整代码实现 ### 后端代码 (app.py) python import os import json import uuid import requests from datetime import datetime from flask import Flask, render_template, request, jsonify from dotenv import load_dotenv # 加载环境变量 load_dotenv() app …

C++法则15:匹配失败并不是一种错误(Substitution Failure Is Not An Error)。

C法则15&#xff1a;匹配失败并不是一种错误(Substitution Failure Is Not An Error)。 应用例子&#xff1a; SFINAE &#xff1a;关于is_class&#xff0c;is_base_of&#xff0c;C编译器的魔法器&#xff0c;如何实现&#xff0c;is_class&#xff0c;is_base_of。_c is cl…

Ollama客户端 + Docker搭建本地知识库(Mac系统)

一、环境准备 1. 安装Ollama客户端 官网下载&#xff1a;https://ollama.com 验证安装&#xff1a; ollama --version2. 安装Docker Desktop 下载地址&#xff1a;https://www.docker.com/products/docker-desktop 安装后确保Docker状态为"Running" 二、基础搭建…

FastMCP 2.9 版本详解:MCP 原生中间件与类型转换增强

下面我将从三个方面来讲解这个&#xff0c;第一是讲解2.9版本的更新&#xff0c;第二是讲解什么将手动解析底层JSON-RPC 消息&#xff0c;丢失 FastMCP 高层语义&#xff0c;第三是讲一讲&#xff0c;什么叫做中间件。不了解的兄弟们系好安全带&#xff0c;我们准备发车了&…

LTspice仿真6——PWL折线波产生

1.自定义波形 2.自定义波形周期 3.以文件.txt的形式定义折线波 4.通过C语言编程&#xff0c;一系列操作&#xff0c;生成自定义正弦波&#xff08;可自定义性强&#xff09;

FunASR搭建语音识别服务和VAD检测

调整VAD参数 1. 查找VAD模型的配置文件 FunASR中的VAD模型为FSMN-VAD&#xff0c;参数配置类为VADXOptions&#xff0c;可以在以下路径中找到&#xff1a; /workspace/FunASR/runtime/python/onnxruntime/funasr_onnx/utils/e2e_vad.py 其中&#xff0c;VADXOptions类定义了…