技术栈
双指针
伟大的车尔尼
5 小时前
双指针
双指针题目:移除元素
标题:移除元素出处:27. 移除元素3 级给定一个整数数组 nums \texttt{nums} nums 和一个整数 val \texttt{val} val,原地删除 nums \texttt{nums} nums 中的所有 val \texttt{val} val。元素的相对顺序可以改变。
程序员-King.
2 天前
经验分享
·
算法
·
双指针
双指针/滑动窗口—算法总结与教学指南
先画图理解从暴力法思考记住三个核心问题从简单模板开始滑动窗口 = 右指针探索 + 左指针维持合法性 + 适时记录答案
程序员-King.
2 天前
算法
·
leetcode
·
双指针
day115—同向双指针—将x减到0的最小操作数(LeetCode-1658)
给你一个整数数组 nums 和一个整数 x 。每一次操作时,你应当移除数组 nums 最左边或最右边的元素,然后从 x 中减去该元素的值。请注意,需要 修改 数组以供接下来的操作使用。
程序员-King.
2 天前
算法
·
leetcode
·
双指针
day114—同向双指针(数组)—统计得分小于K的子数组数目(LeetCode-2302)
一个数组的 分数 定义为数组之和 乘以 数组的长度。给你一个正整数数组 nums 和一个整数 k ,请你返回 nums 中分数 严格小于 k 的 非空整数子数组数目。
程序员-King.
3 天前
算法
·
leetcode
·
双指针
day109—同向双指针(字符串)—每个字符最多出现两次的最长子字符串(LeetCode-3090)
给你一个字符串 s ,请找出满足每个字符最多出现两次的最长子字符串,并返回该子字符串的 最大 长度。示例 1:
程序员-King.
3 天前
算法
·
leetcode
·
双指针
day110—同向双指针(数组)—最多K个重复元素的最长子数组(LeetCode-2958)
给你一个整数数组 nums 和一个整数 k 。一个元素 x 在数组中的 频率 指的是它在数组中的出现次数。
程序员-King.
3 天前
算法
·
leetcode
·
双指针
day107—同向双指针—无重复字符的最长字串(LeetCode-3)
给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。示例 1:示例 2:示例 3:
程序员-King.
3 天前
算法
·
leetcode
·
双指针
day108—同向双指针—乘积小于K的子数组(LeetCode-713)
给你一个整数数组 nums 和一个整数 k ,请你返回子数组内所有元素的乘积严格小于 k 的连续子数组的数目。
不穿格子的程序员
10 天前
算法
·
双指针
从零开始刷算法——双指针-三数之和&接雨水
双指针(Two Pointers)是算法中最常用、最高频的技巧之一,尤其适用于数组类问题。本篇文章将通过两道经典题目:
hansang_IR
18 天前
c++
·
算法
·
贪心
·
双指针
【记录】四道双指针
教练给了四道双指针,品鉴中。双指针通过两个指针的协同工作,避免不必要的重复遍历,从而提高算法效率。时间复杂度一般在 左右,分为同向移动和双向移动两种。
_OP_CHEN
24 天前
c++
·
算法
·
acm
·
优化算法
·
双指针
·
oj题
·
算法蓝桥杯
算法基础篇:(六)基础算法之双指针 —— 从暴力到高效的优化艺术
前言一、双指针算法是什么?—— 不止是 “两个指针” 那么简单1.1 核心定义与本质1.2 双指针的核心前提
还是码字踏实
1 个月前
数据结构
·
算法
·
leetcode
·
双指针
·
对撞指针
基础数据结构之数组的双指针技巧之对撞指针(两端向中间):三数之和(LeetCode 15 中等题)
**题目:**给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请你返回所有和为 0 且不重复的三元组。 **解题思路:**三层循环暴力法会得到重复结果,所以需要先排序去除重复。 双指针对撞也需要先排序,之后先固定一个初始值,之后需要俩数字和初始值结合起来为0,俩数字如何选择?可以通过第一个数字和最后一个数字加起来看跟
伟大的车尔尼
1 个月前
双指针
双指针题目:按奇偶排序数组
标题:按奇偶排序数组出处:905. 按奇偶排序数组2 级给定一个整数数组 nums \texttt{nums} nums,将 nums \texttt{nums} nums 中的所有偶数元素移动到数组的前面,所有奇数元素移动到数组的后面。
苏纪云
1 个月前
数据结构
·
c++
·
算法
·
双指针
·
滑动窗口
算法<C++>——双指针 | 滑动窗口
定长滑窗套路: 窗口右端点在 i 时,由于窗口长度为 k,所以窗口左端点为 i−k+1。我总结成三步:入-更新-出。
苏纪云
1 个月前
c++
·
算法
·
链表
·
双指针
算法<C++>——双指针操作链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1: 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] 示例 2:
以己之
1 个月前
java
·
算法
·
双指针
·
1024程序员节
11.盛最多水的容器
题目来源:https://leetcode.cn/problems/container-with-most-water/description/
伟大的车尔尼
1 个月前
数据结构
·
算法
·
双指针
双指针的概念
双指针是用于线性序列的一种思想,线性序列包括数组、字符串和链表。当用于数组和字符串时,双指针一般为两个不同的下标;当用于链表时,双指针一般为两个不同的结点。
gsfl
2 个月前
算法
·
双指针
双指针算法
一、核心概念 双指针算法是一种通过设置两个指针(索引)在数据结构(如数组、链表)中移动,协同完成问题求解的策略。 核心思想:通过指针的合理移动,减少无效遍历,将原本需要嵌套循环(时间复杂度 (O(n^2))的问题优化为线性时间复杂度(通常 (O(n)) 或 (O(n log n)),同时多数情况下可实现原地操作(空间复杂度 (O(1))。 二、常见类型
老四啊laosi
2 个月前
算法
·
leetcode
·
双指针
·
移动零
[双指针] 1. 力扣283.移动零
题目链接:https://leetcode.cn/problems/move-zeroes/给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序(保持相对顺序不是排序哦)。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。