刷题笔记 day3

news2024/9/21 17:52:25

力扣   11 盛水最多的容器

 解法:使用对撞指针解题。

思路: 定义两个指针 left(指向数组首端)和 right(指向数组尾部),来计算其容积;

让对应数值较小的指针移动一步,再次求其容积;直至两个指针相遇,从其求得容积中找出最大值就是本题要求的结果。

本题代码使用封装的函数和不使用封装函数的解法。

1. 使用封装的函数的解法:

class Solution {
public:
    int maxArea(vector<int>& height) {
        int left = 0, right = height.size()-1,maxv = 0;
        while(left < right)
        {
            //求所在区间的相应容积
            int v = min(height[left],height[right]) * (right-left);
            //更新最大容积
            maxv = max(maxv,v);
            //更新指针位置
            if(height[left] <= height[right])
            {
                ++left;
            }else{
                --right;
            }
        }
        return maxv;
    }
};

2. 不使用封装函数的解法

class Solution {
public:
    int maxArea(vector<int>& height) {
        int left = 0, right = height.size()-1,maxv = 0,minHeight = 0;
        while(left < right)
        {
            //找出最低高度
            if(height[left] < height[right])
            {
                minHeight = height[left];
            }else{
                minHeight = height[right];
            }
           //确定空间长度
           int  len  = right - left;
            //求所在区间的相应容积
            int v = minHeight * len;
            //更新最大容积
            if(maxv < v)
            {
                maxv = v;
            }
            //更新指针位置
            if(height[left] <= height[right])
            {
                ++left;
            }else{
                --right;
            }
        }
        return maxv;
    }
};

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

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

相关文章

发npm包

重点文件 .github -> workflow -> .yml文件 发自己的包 新建dev分支&#xff0c;合并到master后自动执行 fork别人的包 fork -> base dev新建本地rebase-dev分支 -> 提交push后合并至dev -> dev合并至master后自动执行 值得注意的是&#xff0c;fork别人的…

rsync 第一章

1.实验一 2.实验二

C++多态之——虚表地址所在内存空间的位置

众所周知&#xff0c;虚拟地址空间划分成了好几个部分&#xff0c;有堆区、栈区、常量区、静态区...... (500条消息) C/C代码内存分布图_程序分布图_橙予清的zzz~的博客-CSDN博客https://blog.csdn.net/weixin_69283129/article/details/126122989大家可以看这篇文章深入了解我…

食堂管理必备技巧,你学会了吗?

随着科技的不断进步和智能化的发展&#xff0c;各个领域都在积极探索如何将智能技术应用于实际生活中&#xff0c;学校食堂也不例外。 学校食堂作为学生日常生活的重要组成部分&#xff0c;其高效管理和优质服务对学生的学习和生活质量具有重要影响。为了满足学生和教职工对食堂…

docker容器的基本操作

一、查看Docker的版本信息 [roothuyang1 ~]# docker version 二、查看docker的详细信息 [roothuyang1 ~]# docker info 三、Docker镜像操作 Docker创建容器前需要本地存在对应的镜像&#xff0c;如果本地加载不到相关镜像&#xff0c;Docker默认就会尝试从镜像仓库https://hu…

3ds Max建模教程:模拟布料拖拽撕裂和用剑撕裂两种效果

推荐&#xff1a; NSDT场景编辑器 助你快速搭建可二次开发的3D应用场景 1. 拖拽撕布 步骤 1 打开 3ds Max。 打开 3ds Max 步骤 2 在透视视口中创建平面。保持其长度 后座和宽度后座为 100。 创建平面 步骤 3 转到助手>假人并在 飞机的两侧。 助手>假人 步骤 4 选…

SpringBoot复习:(10)SpringApplication中的initializer成员变量是怎么初始化的?

initializers成员变量定义如下&#xff1a; 在构造方法里通过setInitializers setInitializers的代码很简单&#xff1a; 其中的参数通过getSpringFactoriesInstances来获取的&#xff0c;该方法的代码如下&#xff1a; 其中调用的重载的方法代码如下&#xff1a; 它调用…

python-网络爬虫.BS4

BS4 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库&#xff0c; 它能够通过你喜欢的转换器实现惯用的文档导航、查找、修改文档的方 式。 Beautiful Soup 4 官方文档&#xff1a;https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/ 帮助手册&…

雷达信号处理技术汇总

系列文章目录 《雷达简单介绍》 《信号类型&#xff08;雷达&#xff09;——雷达波形认识&#xff08;一&#xff09;》 《信号类型&#xff08;雷达&#xff09;——连续波雷达&#xff08;二&#xff09;》 《信号类型&#xff08;雷达&#xff09;——脉冲雷达&#xf…

clickhouse查询缓存

为了实现最佳性能&#xff0c;数据库需要优化其内部数据存储和处理管道的每一步。但是数据库执行的最好的工作是根本没有完成的工作&#xff01;缓存是一种特别流行的技术&#xff0c;它通过存储早期计算的结果或远程数据来避免不必要的工作&#xff0c;而访问这些数据的成本往…

C++高级编程

本阶段主要针对C泛型编程和STL技术做详细讲解&#xff0c;探讨C更深层的使用 1 模板 1.1 模板的概念 模板就是建立通用的模具&#xff0c;大大提高复用性 模板的特点&#xff1a; 模板不可以直接使用&#xff0c;它只是一个框架模板的通用并不是万能的 1.2 函数模板 C另一…

前端页面---滑动分离登录页面

效果图如下&#xff1a; 代码如下&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equ…

电脑e盘不见了怎么办?3个方法帮你找回!

“很奇怪很奇怪&#xff0c;为什么我电脑上的e盘莫名其妙就没了呢&#xff1f;我有些文件还保存在里面呢&#xff0c;现在有什么方法能帮我把e盘找回来吗&#xff1f;” E盘通常是我们存储数据和文件的重要驱动器之一。如果电脑e盘不见了&#xff0c;我们可能也会感到很焦虑。虽…

Vue+Element Plus 初始化

1. 初始化 Vue 项目 创建vue3 项目 vue create k8s-platform-fe 2. 引入 Element Plus 安装 element-plus 首先去安装这些依赖包&#xff0c;安装好了将其引入&#xff0c;引入的方式有全局引用和局部引入。其实和组件是一样的&#xff0c;局部引入哪里引入哪里使用。…

API教程:轻松上手HTTP代理服务!

作为HTTP代理产品供应商&#xff0c;我们为您带来一份详细的教程&#xff0c;帮助您轻松上手使用API&#xff0c;并充分利用HTTP代理服务。无论您是开发人员、网络管理员还是普通用户&#xff0c;本教程将为您提供操作指南和代码模板&#xff0c;确保您能够顺利使用API并享受HT…

Ubuntu安装harbor(http模式)并随便上传一个

Ubuntu安装harbor&#xff08;http模式&#xff09; docker和harbor的介绍就免了&#xff0c;都不知道啥东西&#xff0c;还安装搞毛 先安装docker环境 不要问&#xff0c;软件源之类的配置&#xff0c;挨个梭就行 sudo apt update sudo apt install apt-transport-https ca…

python简单的病毒编程代码,如何用python写一个病毒

大家好&#xff0c;本文将围绕python简单的病毒编程代码展开说明&#xff0c;如何用python做恶搞病毒是一个很多人都想弄明白的事情&#xff0c;想搞清楚如何用python写一个病毒需要先了解以下几个事情。 1、Python能不能写病毒 国家计算机病毒应急处理中心通过对互联网的监测…

刷题笔记:day 1

力扣 283 移动零 解法一&#xff1a;双指针 定义一个指针 cur 去遍历数组 &#xff1b; 定义一个指针 dest 去指向已处理区间中&#xff0c;非零的最后一个位置。 然后让 指针 cur 遇到 0 &#xff0c;就往后走 &#xff1b; 遇到的数不是 0 &#xff0c;就与 dest指针的下…

C语言结构体讲解

目录 结构体的声明 结构的基础知识 结构的声明 为什么要出现结构体&#xff1f; 结构成员的类型 结构体变量的定义和初始化 定义&#xff1a;&#xff08;全局变量//局部变量&#xff09; 初始化&#xff1a; 结构体成员的访问 结构体传参 结构体的声明 结构的基础知识…

会议oa系统项目部署流程

目录 1.项目部署环境 2.初始化数据库 2.1获取数据库脚本 2.2创建数据库 1.创立数据库连接 2.创建数据库&#xff0c;命名 3.运行sql文件 4.查看导入数据 ​编辑 ​编辑 3项目环境部署 3.1导入项目资源 3.2加载框架 加载成功标志 服务器配置&#xff08;用来保存排…