双指针
换名换一年
学习使我快乐!
展开
-
Java Leetcode ------- 922.按奇偶排序数组II
按奇偶排序数组II1.题目描述2.题目示例3.思路及代码1.题目描述给定一个非负整数数组 A, A 中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当 A[i] 为奇数时,i 也是奇数;当 A[i] 为偶数时, i 也是偶数。你可以返回任何满足上述条件的数组作为答案。2.题目示例示例:输入:[4,2,5,7]输出:[4,5,2,7]解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。提示:2 <= A.length <= 20000原创 2020-11-12 22:39:46 · 140 阅读 · 0 评论 -
力扣Java----- 941.有效的山脉数组
有效的山脉数组1.题目描述2.题目示例3.思路及代码1.题目描述给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组:A.length >= 3在 0 < i < A.length - 1 条件下,存在 i 使得:A[0] < A[1] < …A[i-1] < A[i]A[i] > A[i+1] > … > A[A.length - 1]。2原创 2020-11-03 10:58:07 · 152 阅读 · 0 评论 -
力扣刷题打卡-----链表中倒数第k个节点
剑指offer22.链表中倒数第k个节点1.题目描述2.题目示例3.思路及代码4.运行结果1.题目描述输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。2.题目示例给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.3.思路及代码思路:快慢指针原创 2020-10-24 20:06:03 · 130 阅读 · 0 评论 -
leetcode 力扣刷题------925.长按键入
文章目录925.长按键入1.题目描述2.题目示例3.思路及代码925.长按键入1.题目描述你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。这个题我觉得非常有意思,巧妙的利用了双指针,并且在边界条件上做了很多的处理,对逻辑能力的训练挺好的。2.题目示例3.思路及代码思路:双指针,一个i指向na原创 2020-10-21 10:06:42 · 122 阅读 · 0 评论 -
力扣刷题打卡------977.有序数组的平方
文章目录977.有序数组的平方1.题目描述2.题目示例3.思路及代码977.有序数组的平方1.题目描述给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。2.题目示例示例 1:输入:[-4,-1,0,3,10]输出:[0,1,9,16,100]示例 2:输入:[-7,-3,2,3,11]输出:[4,9,9,49,121]提示1 <= A.length <= 1000010000 <= A[i] <= 1原创 2020-10-16 22:47:09 · 119 阅读 · 0 评论 -
(每日打卡)Leetcode每日打卡-----环形链表II
文章目录142.环形链表II (20201010)1.题目描述2.题目示例3.思路及代码142.环形链表II (20201010)1.题目描述给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是-1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。进阶:你是否可以不用额外空间解决此题?原创 2020-10-10 20:54:30 · 114 阅读 · 0 评论 -
Leetcode每日打卡-----反转字符串20201008+ 上升下降字符串
文章目录344.反转字符串1.题目描述2.题目示例3.思路及代码344.反转字符串1.题目描述编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。2.题目示例示例 1:输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]示例 2:输入:原创 2020-10-08 14:28:34 · 102 阅读 · 0 评论 -
Leetcode每日打卡------颜色分类20201007
75.颜色分类1.题目描述给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意: 不能使用代码库中的排序函数来解决这道题。一个直观的解决方案是使用计数排序的两趟扫描算法。首先,迭代计算出0、1 和 2 元素的个数,然后按照0、1、2的排序,重写当前数组。2.题目示例输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]3.原创 2020-10-07 13:57:43 · 326 阅读 · 0 评论 -
Leetcode每日打卡20201005-----三数之和四数之和
文章目录1.三数之和1.1.题目描述1.2.题目示例1.3.思路及代码2.四数之和2.1题目描述2.2题目示例2.3思路及代码1.三数之和1.1.题目描述给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。1.2.题目示例给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1原创 2020-10-05 16:52:15 · 108 阅读 · 0 评论