标签:wap input oid repr pass str using span The
Given an array with n objects colored red, white or blue, sort them in-place so that objects of the same color are adjacent, with the colors in the order red, white and blue.
Here, we will use the integers 0, 1, and 2 to represent the color red, white, and blue respectively.
Note: You are not suppose to use the library‘s sort function for this problem.
Example:
Input: [2,0,2,1,1,0] Output: [0,0,1,1,2,2]
Follow up:
1 class Solution { 2 public void swap(int []nums, int l, int r) { 3 int temp = nums[l]; 4 nums[l] = nums[r]; 5 nums[r] = temp; 6 } 7 public void sortColors(int[] nums) { 8 int n = nums.length; 9 int l = 0, r = n - 1; 10 int i = 0; 11 while (i >= l && i <= r && l <= r) { 12 while (l <= r && nums[l] == 0) l++; 13 while (l <= r && nums[r] == 2) r--; 14 if (l > r) break; 15 i = Math.max(i, l); 16 if (nums[i] == 2) { 17 swap(nums, i, r--); 18 } else if (nums[i] == 0) { 19 swap(nums, i, l++); 20 } else { 21 i++; 22 } 23 24 25 } 26 27 } 28 }
标签:wap input oid repr pass str using span The
原文地址:https://www.cnblogs.com/hyxsolitude/p/12324386.html