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

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

目录

一.两数之和 

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.lryc.cn/news/588638.html

相关文章:

  • 一、CV_图像分类简介
  • Typecho插件开发:优化文章摘要处理短代码问题
  • 基于redis的分布式锁 lua脚本解决原子性
  • 银河麒麟服务器版挂载镜像文件
  • sqli-labs靶场通关笔记:第18-19关 HTTP头部注入
  • exe直接传输会导致文件损坏
  • 【html常见页面布局】
  • AI应用服务
  • Axios 完整功能介绍和完整示例演示
  • 分布式全局唯一ID生成:雪花算法 vs Redis Increment,怎么选?
  • gRPC实战指南:像国际快递一样调用跨语言服务 —— 解密Protocol Buffer与HTTP/2的完美结合
  • TCP可靠性设计的核心机制与底层逻辑
  • Java基础(八):封装、继承、多态与关键字this、super详解
  • Java全栈工程师面试实录:从电商系统到AIGC的层层递进
  • 通用综合文字识别联动 MES 系统:OCR 是数据流通的核心
  • 在百亿流量面前,让“不存在”无处遁形——Redis 缓存穿透的极限攻防实录
  • 【Ubuntu22.04】repo安装方法
  • 1.2 vue2(组合式API)的语法结构以及外部暴露
  • 如何把手机ip地址切换到外省
  • 【深度学习优化算法】06:动量法
  • 从springcloud-gateway了解同步和异步,webflux webMvc、共享变量
  • iOS V2签名网站系统源码/IPA在线签名/全开源版本/亲测
  • iOS 抓包工具精选对比:不同调试需求下的工具适配策略
  • 项目总体框架(servlet+axios+Mybatis)
  • 【解决】联想电脑亮度调节
  • iOS高级开发工程师面试——多线程
  • Axios 和 Promise 区别对比
  • Supervisor 使用教程:进程守护的最佳实践指南
  • 【Git】详解git commit --amend用法以及使用遇到的问题
  • eVTOL分布式电推进(DEP)适航审定探究