当前位置: 首页 > java >正文

力扣-使用双指针的方法的题们(持续更新中。。。

目录

一.两数之和 

1.题目

2.灵神的视频题解

3.代码

二.移动零

1.题目 

2.B站博主的视频题解

3.代码

三.盛最多水的容器

1.题目

2.灵神的视频题解

3.代码


一.两数之和 

1.题目

167. 两数之和 II - 输入有序数组 - 力扣(LeetCode)

2.灵神的视频题解

【两数之和 三数之和【基础算法精讲 01】-哔哩哔哩】 https://b23.tv/ukJ08aw

采用双指针方法的解题关键点【大于移动大指针,小于移动小指针】:指针初始化指向首尾,首尾指针之和>Target,(说明里面大的那个数和其他的数只会更大),所以移动大数的指针;同理首尾指针之和<Target,(说明里面小的那个数和其他的数只会更小),所以移动小数的指针。

3.代码

class Solution(object):def twoSum(self, numbers, target):""":type numbers: List[int]:type target: int:rtype: List[int]"""left=0right=len(numbers)-1while left<right:if (numbers[left]+numbers[right])>target:right-=1elif (numbers[left]+numbers[right])<target:left+=1else:return [left+1,right+1]

二.移动零

1.题目 

283. 移动零 - 力扣(LeetCode)

2.B站博主的视频题解

【【力扣hot100】【LeetCode 283】移动零|双指针-哔哩哔哩】 https://b23.tv/O40RUfW

不同于正向思考将零移动到末尾,反向思考,将所以非零数交换移动到最后一个非零指针指向的位置,双指针,一个指针遍历数组,一个指针指向最后一个非零位置

3.代码

class Solution(object):def moveZeroes(self, nums):""":type nums: List[int]:rtype: None Do not return anything, modify nums in-place instead."""last_zero=0for i in range(len(nums)):if nums[i]!=0:nums[last_zero],nums[i]=nums[i],nums[last_zero]last_zero+=1print(nums)

三.盛最多水的容器

1.题目

11. 盛最多水的容器 - 力扣(LeetCode)

2.灵神的视频题解

【盛最多水的容器 接雨水【基础算法精讲 02】-哔哩哔哩】 https://b23.tv/FORgr9h

思路:

思路:还是双指针,老思路,一个最左一个最有指针,开始分析:

1)假设固定左右指针,因为是短板问题,长版的指针如果往中间移动,水的高度不会变,宽度变小,容积一定变小,所以不能移动长的指针;但是把短的指针往中间移动,水的高度可能增加,虽然宽度变小,所以容积有可能增加。

2)所以我们保留历史最大容积 ,把左右开始往中间移动的双指针,每次把长度短的那个往中间移动。

3.代码

class Solution(object):def maxArea(self, height):""":type height: List[int]:rtype: int"""ans=0lenth=len(height)L=0R=lenth-1while L<R:area=(R - L) * min(height[L], height[R])if height[L]<height[R]:L+=1else:R-=1ans=max(ans,area)return ans

http://www.xdnf.cn/news/15484.html

相关文章:

  • Java全栈工程师面试实录:从电商支付到AI大模型的应用场景与技术栈解析
  • nlp论文:分本分类:《Bag of Tricks for Efficient Text Classification》
  • Pytorch中张量的索引和切片使用详解和代码示例
  • [ROS 系列学习教程] ROS动作通讯(Action):通信模型、Hello World与拓展
  • B/S 架构通信原理详解
  • 【数据结构】单链表练习(有环)
  • C++(STL源码刨析/stack/queue/priority_queue)
  • Rocky Linux 9 源码包安装php8
  • I3C通信协议核心详解
  • 描述统计1
  • 百度移动开发面经合集
  • 【PCIe 总线及设备入门学习专栏 5.1.2 -- PCIe EP core_rst_n 与 app_rst_n】
  • Java 大视界 -- Java 大数据机器学习模型在金融风险传染路径分析与防控策略制定中的应用(347)
  • HTML网页结构(基础)
  • 使用Spring Cloud LoadBalancer报错java.lang.IllegalStateException
  • Nestjs框架: 数据库架构设计与 NestJS 多 ORM 动态数据库应用与连接池的配置
  • QTableView鼠标双击先触发单击信号
  • 项目进度与预算脱节,如何进行同步管理
  • 从0开始学习R语言--Day47--Nomogram
  • 多租户SaaS系统中设计安全便捷的跨租户流程共享
  • 文心一言开源版部署及多维度测评实例
  • 深度解析 AI 提示词工程(Prompt Engineering)
  • 【YOLOv11-目标检测】06-模型部署(C++)
  • 可微分3D高斯溅射(3DGS)在医学图像三维重建中的应用
  • gRPC实战指南:像国际快递一样调用跨语言服务 —— 解密Protocol Buffer与HTTP/2的完美结合
  • AI 增强大前端数据加密与隐私保护:技术实现与合规遵
  • 20250715武汉xx公司面试一面
  • Springboot儿童认知图文辅助系统6yhkv(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • React.FC与React.Component
  • 高并发四种IO模型的底层原理