美文网首页算法
75. 颜色分类

75. 颜色分类

作者: crazyfox | 来源:发表于2021-09-08 00:03 被阅读0次

https://leetcode-cn.com/problems/sort-colors/
思路:3指针
l,r,index
按照index遍历,遇到2和r交换,遇到0和l交换,遇到1index++

 public void sortColors(int[] nums) {
            int index = 0;
            int l = 0;
            int r = nums.length-1;
            while(index<=r) {
                int num = nums[index];
                if(num==2) {
              //遇到2和r交换
                    swap(nums,index,r--);
                }else if(num==1) {
            //遇到1index++
                    index++;
                }else {
//遇到0和l交换
                    swap(nums,index++,l++);
                }
            }
        }
      public void swap(int[] nums,int i,int j) {
          int tmp = nums[i];
          nums[i]=nums[j];
          nums[j]=tmp;
      }

相关文章

  • 75.颜色分类

    题目给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、...

  • 75. 颜色分类

    题目描述 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照...

  • 75. 颜色分类

    【题目描述】 【示例】 【进阶】 代码实现【解1】 看看就行啦 ? 【解2】思路:1、使用三个指针来标识数组左边、...

  • 75. 颜色分类

    题目描述 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照...

  • 75.颜色分类

    原题 https://leetcode-cn.com/problems/sort-colors/ 解题思路 荷兰国...

  • 75.颜色分类

    题目描述 给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照...

  • 75. 颜色分类

    【Description】给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的...

  • 75. 颜色分类

    我觉得这道题的解法应该属于双指针吧,我大概记录一下我理解的思路,就是一个指针zero指向-1,一个two指向数组的...

  • 75. 颜色分类

    75. 颜色分类 问题 给定一个包含红色、白色和蓝色,一共 个元素的数组,原地对它们进行排序,使得相同颜色的元素...

  • 75. 颜色分类

    解法

网友评论

    本文标题:75. 颜色分类

    本文链接:https://www.haomeiwen.com/subject/twymwltx.html