leetcode 75. 顏色分類(雙指針)

給定一個包含紅色、白色和藍色,一共 n 個元素的數組,原地對它們進行排序,使得相同顏色的元素相鄰,并按照紅色、白色、藍色順序排列。

此題中,我們使用整數 0、 1 和 2 分別表示紅色、白色和藍色。

注意:
不能使用代碼庫中的排序函數來解決這道題。

示例:

輸入: [2,0,2,1,1,0]
輸出: [0,0,1,1,2,2]

代碼

class Solution {public void swap(int[] nums,int l,int r) {int temp=nums[l];nums[l]=nums[r];nums[r]=temp;}public void sortColors(int[] nums) {int l=0,r=0;//l指向0的位置, r指向1的位置for(int i=0;i<nums.length;i++){if(nums[i]==1){swap(nums,r,i);r++;//放置在1的位置}else if(nums[i]==0){swap(nums,i,l);if(l<r)
//0后面的1被交換到了i位置,所以需要將i位置的1,放到r指向的位置(連續1的末尾){swap(nums,i,r);}  l++;r++;}}}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/392879.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/392879.shtml
英文地址,請注明出處:http://en.pswp.cn/news/392879.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

火車頭如何才能設置發布的時候,如果是有html代碼就直接的轉換掉,互聯網上笑話抽取及排重---火車頭采集器的使用和MD5算法的應用...

10011311341 呂濤、10011311356李紅目的&#xff1a;通過熟悉使用火車頭采集器&#xff0c;在網絡上采取3萬條笑話并進行排重&#xff0c;以此來熟悉web文本挖掘的一些知識。過程&#xff1a;本次學習&#xff0c;主要分成兩個部分。第一部分是笑話文本的采集&#xff0c;第二部…

Tcp_wrapper

在Linux進程分為&#xff1a;獨立進程和非獨立進程非獨立進程&#xff1a;是依賴于超級守護進程的進程&#xff0c; 且受Xinetd 管理&#xff0c;并在啟動服務時 必須啟動例子&#xff1a;#chkconfig –level 2345 telnetd on關與chkconfig 的命令&#xff1a;#chkconfig –lis…

angular 動畫_如何在Angular 6中使用動畫

angular 動畫介紹 (Introduction) Animation is defined as the transition from an initial state to a final state. It is an integral part of any modern web application. Animation not only helps us create a great UI but it also makes the application interesting…

win10上面安裝win7的虛擬機怎么相互ping通

最近干了一些很蛋疼的事&#xff0c;這些都是自己踩過的坑&#xff0c;記錄下來方便自己以后查閱 首先我的目的就是為了在自己的PC機上面部署一個SVN服務器&#xff0c;然后安裝一個客戶端&#xff0c;自己寫的軟件就可以定期入庫&#xff0c;做好自己的版本控制&#xff0c;但…

新東方面試知識點記錄

3.spring mvc 怎么接受http post 方式提交過來的xml數據&#xff1f;servlet中怎么接受&#xff1f; RequestMapping(value"/jsonPrase", headers {"content-typeapplication/json","content-typeapplication/xml"}) ResponseBody …

win10用計算機名訪問文件夾,win10系統提示你當前無權訪問該文件夾的解決方法【圖文教程】...

Win10系統下&#xff0c;我們在訪問或更改某些系統文件夾時&#xff0c;有時會遇到系統提示“你當前無權訪問該文件夾”的情況。那么&#xff0c;遇到這種情況的話&#xff0c;我們該怎么辦呢&#xff1f;接下來&#xff0c;小編就向大家分享win10系統提示“你當前無權訪問該文…

.Net Micro Framework研究—實現SideShow窗體界面

基于MF系統的Windows SideShow界面是非常炫的&#xff08;如下圖&#xff09;。既然微軟能用.Net Micro Framework實現這么棒的界面效果&#xff0c;我想我們也能做到。 &#xff08;SideShow模擬器界面和游戲程序中的右鍵菜單—注意菜單彈出后&#xff0c;其它的界面變暗了&am…

leetcode 344. 反轉字符串

編寫一個函數&#xff0c;其作用是將輸入的字符串反轉過來。輸入字符串以字符數組 char[] 的形式給出。 不要給另外的數組分配額外的空間&#xff0c;你必須原地修改輸入數組、使用 O(1) 的額外空間解決這一問題。 你可以假設數組中的所有字符都是 ASCII 碼表中的可打印字符。…

事件捕獲(capture)和冒泡事件(Bubble)

PS&#xff1a;這里是我從別人的博客中學習事件捕獲和冒泡是的總結&#xff0c;如果你也感興趣的話&#xff0c;建議你點擊鏈接查看原博客的內容&#xff0c;他們寫的都是很經典&#xff01; 對“捕獲”和“冒泡”這兩個概念&#xff0c;我想我們對冒泡更熟悉一些&…

gulp編譯css_如何用gulp縮小CSS

gulp編譯cssby Vinicius Gularte由Vinicius Gularte 如何用gulp縮小CSS (How to minify your CSS with gulp) In this article, Im going to show a simple way to automatically minify your CSS files using gulp. ?在本文中&#xff0c;我將展示一種使用gulp自動縮小CSS文…

線段樹(區間更改,區間查最值)模板

線段樹(區間更改,區間查最值)模板 主要重在理解線段樹,理解了怎么改都可以,還有以后不要直接抄模板,要寫出自己想的一份代碼 &代碼&#xff1a; #include <cstdio> #include <bitset> #include <iostream> #include <set> #include <cmath>…

Unity3D項目開發一點經驗

我們主要使用3dsmax2010進行制作&#xff0c;輸出FBX的類型導入Unity3D中。默認情況下&#xff0c;3dsmax8可以和U3D軟件直接融合&#xff0c;自動轉換為FBX物體。 注意事項如下&#xff1a; 1.面數控制 在MAX軟件中制作單一GameObject物體的面數不能超過65000個三角形&#xf…

leetcode 142. 環形鏈表 II(set/快慢指針)

給定一個鏈表&#xff0c;返回鏈表開始入環的第一個節點。 如果鏈表無環&#xff0c;則返回 null。 為了表示給定鏈表中的環&#xff0c;我們使用整數 pos 來表示鏈表尾連接到鏈表中的位置&#xff08;索引從 0 開始&#xff09;。 如果 pos 是 -1&#xff0c;則在該鏈表中沒有…

html5 支持表格嗎,html5 – 在HTML 5中使用表格很好嗎?

簡單規則 – 使用表格表格數據&#xff0c;使用其他元素進行演示(使用CSS設計布局)&#xff0c;如div&#xff0c;section&#xff0c;aside&#xff0c;nav等。這為他們所持有的內容提供了意義&#xff0c;而不是為所有內容使用表事實是&#xff0c;開發人員在90年代使用了表格…

css網格_我如何記住CSS網格屬性

css網格The syntax for CSS Grid is foreign and hard to remember. But if you can’t remember CSS Grid’s syntax, you won’t be confident when you use CSS Grid.CSS Grid的語法是外來的&#xff0c;很難記住。 但是&#xff0c;如果您不記得CSS Grid的語法&#xff0c;…

2017年讀書計劃(一)

前言 這篇博文就暫時不記錄技術了&#xff0c;記錄下生活。對自己今年2017年做個讀書計劃安排。 最近在看一部網絡劇 - 《花間提壺方大廚》&#xff0c;也許你們會感覺我很無聊&#xff0c;我也是被頭條帶壞了&#xff0c;每天上班一個小時的地下交通-地鐵&#xff0c;就借助上…

.net10個必備工具

1.NUnit 編寫單元測試的工具2.NDoc 自動生成代碼文檔的工具3.NAnt 編譯解決方案的工具4.CodeSmith 自動生成代碼的工具5.FxCop 檢查你的代碼是否按照規范編寫的工具6.Snippet Compiler 編譯少量代碼的工具7.ASP.NET Version Switcher Visual Studio .NET Project Conve…

音標

音標 oror ds念子音&#xff0c;ts念s音

leetcode 530. 二叉搜索樹的最小絕對差(中序遍歷)

給你一棵所有節點為非負值的二叉搜索樹&#xff0c;請你計算樹中任意兩節點的差的絕對值的最小值。示例&#xff1a;輸入&#xff1a;1\3/2輸出&#xff1a; 1解釋&#xff1a; 最小絕對差為 1&#xff0c;其中 2 和 1 的差的絕對值為 1&#xff08;或者 2 和 3&#xff09;。代…

計算機排線知識,一種計算機排線梳理裝置制造方法及圖紙

【技術實現步驟摘要】一種計算機排線梳理裝置本技術涉及計算機排線梳理&#xff0c;具體涉及一種計算機排線梳理裝置。技術介紹計算機俗稱電腦&#xff0c;是現代一種用于高速計算的電子計算機器&#xff0c;可以進行數值計算&#xff0c;又可以進行邏輯計算&#xff0c;還具有…