首页 > 其他分享 >leetCode-双指针

leetCode-双指针

时间:2024-10-27 13:13:36浏览次数:1  
标签:nums int res fast height ++ leetCode 指针

 

移动零

class Solution {
    public void moveZeroes(int[] nums) {
        int n = nums.length;
        int slow = 0;
        int fast = 0;

        while (fast < n) {
            if (nums[fast] != 0) {
                nums[slow++] = nums[fast++];
            } else {
                fast++;
            }
        }
        for (int i = slow; i < n; i++) {
            nums[i] = 0;
        }
    }
}

盛最多水的容器

class Solution {
    public int maxArea(int[] height) {
        int l = 0;
        int r = height.length - 1;
        int res = 0;

        while (l < r) {
            if (height[l] < height[r]) {
                res = Math.max(res, height[l] * (r - l));
                l++;
            } else {
                res = Math.max(res, height[r] * (r - l));
                r--;
            }
        }

        return res;
    }
}

 

标签:nums,int,res,fast,height,++,leetCode,指针
From: https://www.cnblogs.com/zrzct/p/18508169

相关文章

  • 给函数传入结构体和传入该结构体的指针的区别
    给函数传入结构体和传入该结构体的指针在C/C++中有以下几个关键区别:1.传递方式传入结构体(按值传递):当把结构体按值传递给函数时,函数会创建一个结构体的副本。这意味着函数中对结构体的任何修改都不会影响原始结构体的数据,因为修改的只是副本。副本是结构体的一个独立拷......
  • 数组指针的相关知识
    1.数组指针的概念    1.顾名思义,数组指针就是指向数组的指针(地址),要和指针数组做区分。    数组指针:类型为int(*)[常量],是一个地址。    指针数组:是由int*类型之类的指针为元素的数组,是一个数组。    2.数组指针指向的是整一个数组,而非......
  • 指针(进阶)
    1.字符指针2.数组指针3.指针数组4.数组传参和指针传参5.函数指针6.函数指针数组7.指向函数指针数组的指针8.相关的练习指针的主题,我们在初级阶段的《指针》已经接触过了,我们知道了指针的概念:1.指针就是个变量,用来存放地址,地址唯一标识一块内存空间。2.指针......
  • 简单区分常量指针和指针常量的小技巧
    指针常量和常量指针介绍推荐一个文章,有介绍指针常量和常量指针,本文就不做另外的篇幅去介绍彻底理解——指针常量和常量指针、指向常量的常指针-CSDN博客区分的方法该方法简单好用,掌握了以后就再也不会分不清这两个东西了只要记住这句话:const默认是修饰它左边的符号的,如果左......
  • C语言——数组、指针、函数
    目录1、数组、指针、函数2、数组指针及指针数组2.1、数组指针2.2、指针数组2.3、区别3、指针函数与函数指针3.1、指针函数3.2、函数指针3.3、区别4、所有组合1、数组、指针、函数    在前面我们已经学习了数组、指针以及函数,看起来都没有难的地方,我自认......
  • 滑动窗口与双指针
    1.定长滑动窗口套路参考:灵神的总结入-更新-出:入:下标为i的元素进入窗口,更新相关统计量。如果i<k−1则重复第一步。更新:更新答案。一般是更新最大值/最小值。出:下标为i−k+1的元素离开窗口,更新相关统计量。for(inti=0;i<nums.size();++i){//1.进入......
  • leetcode每日一题:3181.执行操作可获得的最大总奖励 II
     题干:读本文前,请先弄懂上一篇中的内容,因为这是对上一篇内容的优化:3180.执行操作可获得的最大总奖励I明白上篇的,访问值的影响、复制、上下行之间的关系和算法后可继续看:上一篇中,我们用二维数组,第二维表示了状态空间。但是,在今日的题目中,提交不行,因为占用的空间太太太......
  • LeetCode 3181. 执行操作可获得的最大总奖励 II
    1classSolution{2public:3intmaxTotalReward(vector<int>&rewardValues){4intm=ranges::max(rewardValues);5unordered_set<int>s;6for(intv:rewardValues){7if(s.contains(v))......
  • leetcode-1934-确认率
    链接:1934.确认率-力扣(LeetCode)前提条件:Signups+----------------+----------+|ColumnName|Type|+----------------+----------+|user_id|int||time_stamp|datetime|+----------------+----------+User_id是该表的主键。每一行......
  • 代码随想录算法训练营第七天|LeetCode 344.反转字符串、LeetCode 541.反转字符串Ⅱ、
    LeetCode 344.反转字符串题目链接:LeetCode344.反转字符串文章链接:代码随想录题目:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用O(1)的额外空间解决这一问题。示......