CassielLee
每天一道leetcode(Day 43) 每天一道leetcode(Day 43)
34. 在排序数组中查找元素的第一个和最后一个位置题目描述给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是  O(log n) 级别。 如
2020-05-10
每天一道leetcode(Day 42) 每天一道leetcode(Day 42)
33. 搜索旋转排序数组题目描述假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组  [0,1,2,4,5,6,7]  可能变为  [4,5,6,7,0,1,2] )。 搜索一个给
2020-05-09
每天一道leetcode(Day 41) 每天一道leetcode(Day 41)
50. Pow(x, n)题目描述实现 pow(x, n) ,即计算 x 的 n 次幂函数。 示例 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例  2: 输入: 2.10000, 3 输出
2020-05-08
每天一道leetcode(Day 40) 每天一道leetcode(Day 40)
格式转换题目描述给定一个“扁平”字典对象,其键是以点分割的。请实现一个函数,将其转换为”嵌套的”字典对象。 示例输入:{'a':1,'b.a':2,'b.b':3,'c.d.e':4,'c.d'f':5} 输出:{ 'a':1,
2020-05-07
每天一道leetcode(Day 39) 每天一道leetcode(Day 39)
最长递增子序列说明这道题并不是 leetcode 上面的原题,是作者在阅读 Vue 核心 diff 算法的文章中涉及到的,觉得还挺有难度,所以就研究一下。这个问题的应用场景在于 Vue 3 的核心 Diff 算法中DOM 的移动方式。在经过
2020-05-06
每天一道leetcode(Day 38) 每天一道leetcode(Day 38)
31. 下一个排列题目描述实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 示例输入在左侧
2020-05-05
每天一道leetcode(Day 37) 每天一道leetcode(Day 37)
24. 两两交换链表中的节点题目描述给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例给定 1->2->3->4, 你应该返回 2->1-
2020-05-04
每天一道leetcode(Day 36) 每天一道leetcode(Day 36)
21. 合并两个有序链表题目描述将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例输入:1->2->4, 1->3->4 输出:1->1->2->3-
2020-05-03
每天一道leetcode(Day 35) 每天一道leetcode(Day 35)
20. 有效的括号题目描述给定一个只包括 ‘(‘,’)’,’{‘,’}’,’[‘,’]’  的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有
2020-05-02
每天一道leetcode(Day 34) 每天一道leetcode(Day 34)
19. 删除链表的倒数第 N 个节点题目描述给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为
2020-05-01
每天一道leetcode(Day 33) 每天一道leetcode(Day 33)
18. 四数之和题目描述给定一个包含  n 个整数的数组  nums  和一个目标值  target,判断  nums  中是否存在四个元素 a,b,c  和 d&nbs
2020-04-30
每天一道leetcode(Day 32) 每天一道leetcode(Day 32)
17. 电话号码的字母组合题目描述给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例输入:"23" 输出:["ad", "ae", "af", "
2020-04-29
3 / 6