leetcode209】长度最小的子数组public class MinSubArrayLen { public int minSubArrayLen(int s, int[] nums) { if (nums == null || nums.length == 0) { return 0; } int minl...
原创 2021-06-11 21:50:20
109阅读
指针可以指向基本类型,也可以指向复合类型,因此也可以指向另外一个指针变量,称为指向指针指针
转载 2010-03-12 02:07:00
70阅读
2评论
1.相向指针Reverse型:翻转字符串、判断回文串TwoSum型:两数之和、三数之和Partition型:快速排序、颜色排序框架pythondefisPalindrome(s):一左一右两个指针(索引),分别从中间开始移动left,right=0,len(s)1left一定要小于rightwhileleft<right:ifsleft!=sright:returnFalseleft+=1lef
原创 11月前
185阅读
【题目描述】 给定一个长度为 n 的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。 【输入格式】 第一行包含整数 n。 第二行包含 n 个整数(均在 0∼105 范围内),表示整数序列。 【输出格式】 共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。 【数据范围】 1 ...
转载 2021-10-16 19:57:00
56阅读
2评论
同向指针 移动速度相同,一般同向移动 指针再向后移动一位,第二个指针再从第一个指针的位置向后遍历整个数组,以此类推。(有点像选择排序的过程)时间复杂度:n..
一、指针算法分类、二、相向指针示例 ( 有效回文串 )、
指针: 不同的状态,导致不同指针的移动。最终的状态由于两个指针的位置决定。 经典题目: 1. 盛最多水的容器 问题抽象,容量: min(l, r) * t。 容量取决于最小的一块木板,并且和木板之间的距离有关。 另指针在容器的各自最远端。指针开始向内移动,最大的容量必定在向内移动的过程中产生。 ...
转载 2021-08-29 21:44:00
139阅读
2评论
11. 盛最多水的容器 题意:给n个非负整数代表垂直线的高度,找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 分析:要求最大容量,和底座长度以及垂直线高度相关:底座长度肯定越长越好,使用指针从两端向中间遍历。每次移动 数字较小的那个指针。 class Solution { p ...
转载 2021-07-20 14:01:00
300阅读
2评论
这两天在 cf 做了若干道指针的题目,不过 cf 对指针这个标签的题目分类似乎有点迷。。。很多和指针关系感觉不是很大。 在我看来,指针的核心在于决策单调,因为单调性的存在,可以减小解空间,从而降低时间复杂度。 这里选了一些思想比较典型的题目记录一下。 例题 1: 传送门:https://co ...
转载 2021-08-31 17:29:00
140阅读
2评论
移除元素 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 给定 nums = ...
转载 2021-09-11 09:54:00
65阅读
2评论
文章目录有序数组的平方合并问题1.合并两个有序数组2.求两个数组的交集(1)3.求两个数组的交集(2)反转问题1.反转字符数组2.验证回文串3.回
的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。共一行,包含一个整数,整数序列。
原创 2月前
2阅读
对撞指针 给定一个有序整型数组和一个整数target,在其中寻找两个元素,十其和为target,返回这两个数的索引 如:[2,7,11,15],target=9 输出 [1,2] 最直接的解法就是暴力解法,双层遍历,这样他的时间复杂度就是O(n^2) 但是暴力解法没有利用他的已知条件,就是有序
原创 2021-05-25 22:36:02
787阅读
1.有效的山脉数组 给定一个有效的整数数组A。如果它是有效的山脉数组就返回true,否则返回false。 数组A A.length>=3; 在0<i<A.length-1 条件下 存在i (1)A[0]<A[i] <....<.A[i-1]<A[i]; (2)A[i]>A[i+1]>....>A[A ...
转载 2021-07-13 11:22:00
94阅读
455. 分发饼干 贪心算法求解,孩子指针和饼干指针,满足条件的话两个指针都++,不满足只有饼干++。 class Solution { public: int findContentChildren(vector<int>& g, vector<int>& s) { sort(g.begin(), ...
转载 2021-08-29 15:41:00
64阅读
2评论
指针 指针的过程:在遍历数组的过程中,定义两个相同方向或者相反方向的指针进行遍历,根据两个指针所在的数据进行处理,从而达到相应的目的。 首尾指针(对撞指针) 对撞指针是指在数组中,将最左侧的索引(0)定义为左指针(left),最右侧的索引(数组长度-1)定义为右指针(right),然后两个指针都 ...
转载 2021-10-10 17:09:00
159阅读
2评论
算法入门 指针总结 指针是一种思想,在二分查找等算法中经常用到。具体就是用两个变量动态存储两个或多个结点,来方便我们进行一些操作。 通常用在线性的数据结构中,比如链表和数组,有时候也会用在图算法中。 数组,链表!!!! 1快慢指针 计算链表的中点 判断链表是否有环 判断链表中环的起点 求链表中环 ...
转载 2021-11-01 23:54:00
242阅读
2评论
算法-指针 心灰尽,有发未全僧。 简介:算法-指针 一、和为S 的两个数字 1、题目描述 在有序数组中找出两个数,使得和为给定的数 S。
原创 2021-12-21 14:18:11
76阅读
面试题 16.06. 最小差class Solution: def smallestDifference(self, a: List[int], b: List[int]) -
  • 1
  • 2
  • 3
  • 4
  • 5