LeetCode热题100 Day1——双指针

news2024/11/16 5:33:03

双指针

  • 移动零
  • 11. 盛最多水的容器

移动零

移动零
思路
双指针i,j,j指针遍历数组,i指针存放非0元素。遍历结束后,i指针及其后面的一定是0,就再将空出来的位置设置为0

移动零

class Solution {
    public void moveZeroes(int[] nums) {
        if(nums == null || nums.length == 0){
            return;
        }
        int  n = nums.length;
        int i = 0, j = 0;
        while(j < n){
            if(nums[j] != 0){
                nums[i] = nums[j];
                i ++; // 大于0的个数
            }
            j ++;
        }
        while(i < n){
            nums[i ++] = 0;
        }
        

    }
}

11. 盛最多水的容器

在这里插入图片描述
在这里插入图片描述

11. 盛最多水的容器

思路
宽度w 乘以 两个柱子中最短的柱子h,此时我们若移动比较高的柱子,结果只有两种:1.新柱子比最短的柱子h 高,此时无论这个柱子再高,高度都只能取较小的短板柱子,即高度是h。所以不仅宽度w减少了,高度h还没变,结果肯定变小,这是不符合的. 2.比最短的柱子h 矮了,此时h变得更小了,w也减小,就更不可能了。
综上,只有移动短的柱子才有可能比原来的结果大,因为虽然宽度w在减小,但可能h变大,w*h整体才有可能变大。h变小的话可能整体变小,但不影响,因为我们已经记录下了最大值了

参考题解

class Solution {
    public int maxArea(int[] height) {
        /*
        */
        int n = height.length;
        int i = 0, j = n - 1;
        int ans = 0;
        while(i < j){
            ans = Math.max(ans, Math.min(height[j], height[i]) *(j - i));
            // 移动较小的柱子
            if(height[i] < height[j]){  // 除掉左边柱子
                i ++;
            }else{
                j --;
            }
        }
        return ans;

    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

942. 增减字符串匹配 - 力扣

1. 题目 由范围 [0,n] 内所有整数组成的 n 1 个整数的排列序列可以表示为长度为 n 的字符串 s &#xff0c;其中: 如果 perm[i] < perm[i 1] &#xff0c;那么 s[i] I 如果 perm[i] > perm[i 1] &#xff0c;那么 s[i] D 给定一个字符串 s &#xff0c;重构排列 pe…

Linux搭建PHP下的RabbitMQ环境(php-amqp/rabbitmq-c/erlang)

本文演示环境 Red Hat 11.2.1-9gcc (GCC) 11.2.1 20220127OpenSSL v1.1.0PHP 7.1 安装erlang erlang和RabbitMQ有版本对应关系Erlang Version Requirements&#xff0c;需要选择正确的版本。 本文以erlang 26和RabbitMQ 3.13.2为例。 erlang下载地址 下载包上传服务器后&a…

Ubuntu20.04升级到22.04之后出现的问题

项目场景&#xff1a; 之前一致使用的是Ubuntu20.04&#xff0c;虽然丑了点&#xff0c;但是用着没什么问题&#xff0c;最近没能按捺住好奇心&#xff0c;升级到了22.04&#xff0c;升级后颜值有所提高&#xff0c;但是也带来了一些问题。 从20.04升级到22.04&#xff0c;起始…

Cobaltstrike渗透测试框架

Cobaltstrike简介 cobalt strike&#xff08;简称CS&#xff09;是一款团队作战渗透测试神器&#xff0c;分为客户端及服务端&#xff0c;一个服务端可以对应多个客户 端&#xff0c;一个客户端可以连接多个服务端&#xff0c;可被团队进行分布式协团操作. 和MSF关系 metas…

pdf只要其中一页 pdf只要第一页怎么办 pdf只要前几页怎么弄

在现代办公环境中&#xff0c;PDF文件已经成为我们日常工作中不可或缺的一部分。然而&#xff0c;有时我们可能只需要PDF文件中的某一页&#xff0c;而不是整个文件。这时&#xff0c;我们该如何操作才能只获取所需的那一页呢&#xff1f;本文将详细操作方法&#xff0c;帮助大…

【ai】livekit服务本地开发模式及example app信令交互详细流程

文档要安装git lfs 下载当前最新版本1.6.1 windows版本&#xff1a;启动dev模式 服务器启动 (.venv) PS D:\XTRANS\pythonProject\LIVEKIT> cd .\livekit_release\ (.venv) PS D:\XTRANS\pythonProject\LIVEKIT\livekit_release> lsDirectory: D:\XTRANS\pythonProject\L…

CATIA二次开发VBA入门(3)——vb语言基础,可视化编程基础,消息框等

目录 引出VBA与VB的关系和区别vb基础关于什么时候用set字符串函数数学&#xff1a;三角函数&#xff0c;不等于&#xff0c;随机数日期、脚本、空格数组 顺序、选择、循环可视化编程基础按钮文字输入框的输入窗口控件全局变量 vb基础进阶msgbox详解背景颜色按钮能否点击插入图片…

python-使用API

python-使用API 使用github的api-即url地址请求数据 https://api.github.com/search/repositories?qlanguage:python&sortstars #这个调用返回GitHub当前托管了多少个Python项目&#xff0c;还有有关最受欢迎的Python仓库的信息。在浏览器中输入上面地址可以看到该接口&…

C++第二十一弹---vector深度剖析及模拟实现(上)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】 目录 1、基本结构 2、默认成员函数 2.1、构造函数 2.2、析构函数 2.3、拷贝构造函数 2.3、赋值操作符重载 3、数据访问 4、迭代器获取 总结 …

Redis篇 String的基本命令

String基本命令 一.setnx,setex,psetex二. 增加删除命令三.append,setrange,getrange,strlen命令1.append2.setrange3.strlen4.getrange 四.String的内部编码方式 一.setnx,setex,psetex setex和psetex设置过期时间 setex设置的过期时间是秒级 psetex设置的过期时间是毫秒级 二…

【错误记录】HarmonyOS 运行报错 ( Failure[MSG_ERR_INSTALL_FAILED_VERIFY_APP_PKCS7_FAIL] )

文章目录 一、报错信息二、问题分析二、解决方案 一、报错信息 在 DevEco Studio 中 , 运行程序 , 编译时正常编译 , 但是在真机运行时 , 报如下错误 , 核心报错信息是 " Failure[MSG_ERR_INSTALL_FAILED_VERIFY_APP_PKCS7_FAIL] " ; 完整报错信息 : 05/29 10:58:55…

探索Django 5: 从零开始,打造你的第一个Web应用

今天我们将一起探索 Django 5&#xff0c;一个备受开发者喜爱的 Python Web 框架。我们会了解 Django 5 的简介&#xff0c;新特性&#xff0c;如何安装 Django&#xff0c;以及用 Django 编写一个简单的 “Hello, World” 网站。最后&#xff0c;我会推荐一本与 Django 5 相关…

工控一体机10.1寸显示器电容触摸屏(YA07JK)产品规格说明书

如果您对工控一体机有任何疑问或需求&#xff0c;或者对如何集成工控一体机到您的业务感兴趣&#xff0c;可移步控芯捷科技。 一、硬件功能介绍 1.1 YA07JK介绍 YA07JK 是我公司推出的一款新型安卓屏&#xff0c;使用电容触摸屏。4 核 Cortex-A7 架构&#xff0c;主频1.2GHz …

React-Redux结合@Reduxjs/Toolkit实现函数组件化(数据持久化,刷新页面数据不丢)

函数式组件和类式组件的优缺点儿 函数组件&#xff08;Function Component&#xff09;和类组件&#xff08;Class Component&#xff09;是React中的两种定义组件的方式。函数组件是以一个函数的方式定义组件&#xff0c;而类组件则是以ES6的类继承React.Component来定义组件…

后端企业级开发之yaml数据序列化格式文件详解2024

yaml格式 数据格式 yaml 是一种数据序列化的格式 容易阅读 容易与脚本语言交互 以数据为核心 重数据轻格式 我们要知道他怎么书写 大小写敏感 属性层级关系使用多行描述 每行结尾使用冒号结束 使用缩进表示层级关系 同层级左侧对其 只运行使用空格 属性前面添加空格 #表…

《Ai企业知识库》-rasa-初步使用

根据上面的环境准备之后&#xff1a; 《Ai企业知识库》-模型实践-rasa开源学习框架-搭建简易机器人-环境准备(针对windows)-02-CSDN博客 基础的使用&#xff1a; rasa项目初始化&#xff1a; rasa init 首先进入目标文件夹 在dos窗口&#xff08;目标文件夹下&#xff09…

智能合约革命:Web3引领智能化商业的未来

随着区块链技术的日益成熟和普及&#xff0c;智能合约作为其重要应用之一&#xff0c;正在逐渐改变着商业世界的面貌。Web3作为下一代互联网的代表&#xff0c;以其去中心化、加密安全的特性&#xff0c;为智能合约的发展提供了无限可能&#xff0c;将智能合约应用于商业领域的…

海云安两大金融案例入编行业典范,七大安全领域实力登榜《2024中国金融网络安全全景图》

近日&#xff0c;数说安全与《中国信息安全》杂志联合编写并发布了《2024年中国金融行业网络安全研究报告》&#xff08;以下简称报告&#xff09;、《2024年中国金融行业网络安全案例集》&#xff08;以下简称案例集&#xff09;、《2024年中国金融行业网络安全市场全景图》&a…

apexcharts数据可视化之雷达图

apexcharts数据可视化之雷达图 有完整配套的Python后端代码。 本教程主要会介绍如下图形绘制方式&#xff1a; 基础雷达图多组数据雷达图雷达图标记点 基础雷达图 import ApexChart from react-apexcharts;export function BasicRadar() {// 数据序列const series [{name…

Pytorch Lighting 库的学习 mvsplat 的笔记

变量理解&#xff1a; context_image&#xff1a; 表示投影的 refrence image Epipolar Transformer vs Swin Transformer : 不同于 Pixel Splat 使用的是 Epipolar Transformer. MVspalt 使用的是 Swin Transformer&#xff0c; 但是作者在 Code 里面 也使用了 Epipolar Tran…