自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿飞的博客

现阶段主要分享 leetcode 的题

  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 合并 K 个排序链表:堆、分治法

我们维护一个大小为 k 的堆,堆由每个链表的首元素组成,每次堆弹出一个元素,就由该链表的下个结点进入。

2020-07-03 11:17:43 726 4

原创 x 的平方根:简单问题不简单

该题是一个很经典的二分查找算法。

2020-09-05 12:29:27 423 1

原创 巧用进位解决加一问题

若在循环中返回最终结果,说明只改动已有数组即可。否则,最前面需要添加进位 1。

2020-09-01 11:13:23 694

转载 什么时候 Python 的 List,Tuple 最后一个 Item 后面要加上一个逗号

为什么看 Python 的代码,有时候会在数据结构的最后一项末尾加上逗号。

2020-08-28 10:46:10 2203

原创 字母异位词分组:defaultdict 的妙用

本题的关键在于如何找到映射关系,可以对字符串进行排序并使用排序后的字符串(元组)作为键(异位词相同的特征),键值就是所有分组的结果。

2020-08-26 11:31:52 299

原创 twoSum & threeSum & fourSum

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。

2020-08-20 19:49:09 237

原创 整数反转的两种思路

两种方式解决此问题:转换法、数学方法。

2020-08-15 11:00:29 1245 1

原创 一文掌握 Python 的 random 模块

Python 的 random 模块用于生成伪随机数。所以此模块不能用于安全加密。

2020-08-13 15:28:04 291

原创 链表反转问题 3:K 个一组反转

代码总体使用递归,前半部分判断剩余元素是否达到 k 个:若没达到,就直接返回结果,若达到,继续下面的运算。 而反转 k 个元素之后,……

2020-08-10 22:37:34 442

原创 链表反转问题 2:两两反转

leetcode 24:两两交换链表中的节点 难度等级:中等 ⭐⭐ 迭代 def swapPairs(self, head: ListNode) -> ListNode: pre = dummy = ListNode(0) dummy.next = head # pre, pre.next = self, head while pre.next and pre.next.next: a, b = pre.next, pre.next.next

2020-08-10 21:42:33 1002

原创 链表反转问题 1:整体反转

leetcode 206:反转链表 难度等级:简单 ⭐ 迭代 定义前后两个指针,遍历的时候将后面指针的 next 赋值给前面,形成反向链表。 # Definition for singly-linked list. class ListNode: def __init__(self, x): self.val = x self.next = None class Solution(object): def reverseList(self, head: Li

2020-08-10 21:15:29 599

原创 顺(逆)时针打印矩阵

顺时针打印矩阵 剑指 Offer 29. 顺时针打印矩阵 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 1: 输入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 输出:[1,2,3,6,9,8,7,4,5] 解决方法 先把最前面的元素提取了。然后将剩下元素逆时针旋转 90 度,再依次循环进行。 逆时针:竖排提取 → 元素翻转 。 def spiralOrder(self, matrix: List[List[int]]) -> List[int]:

2020-08-08 21:35:13 591

原创 两个数组的交集 II:Python 语法糖 Counter

两个数组的交集 II leetcode 350 给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输出:[2,2] 示例 2: 输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出:[4,9] 说明: 输出结果中每个元素出现的次数,应与元素在两个数组中出现次数的最小值一致。 我们可以不考虑输出结果的顺序。 进阶: 如果给定的数组已经排好序呢?你将如何优化你的算法? 如果 nums1 的大小比

2020-08-05 17:04:34 526 2

原创 转变数组后最接近目标值的数组和

转变数组后最接近目标值的数组和 leetcode 1300 给你一个整数数组 arr 和一个目标值 target ,请你返回一个整数 value ,使得将数组中所有大于 value 的值变成 value 后,数组的和最接近 target (最接近表示两者之差的绝对值最小)。 如果有多种使得和最接近 target 的方案,请你返回这些整数中的最小值。 请注意,答案不一定是 arr 中的数字。 示例 1: 输入:arr = [4,9,3], target = 10 输出:3 解释:当选择 value 为 3

2020-08-03 17:23:15 375 1

原创 n 种方法实现最长公共前缀

编写一个函数来查找字符串数组中的最长公共前缀。

2020-07-31 19:14:51 376 1

原创 用 Python 实现一个字典树

leetcote 208:实现 Trie 实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。 字典树 Trie 树,又叫字典树、前缀树,本质就是利用字符串之间的公共前缀,将重复的前缀合并在一起。 如下图就是包含了 how,hi,her,hello,so,see 的字典树。 Trie 树是一种空间换时间的思路。主要用于查找前缀匹配的字符串。 方法 由于 python 语言的高抽象性,可以使用 dict 的嵌套来表示树结构。 class Trie:

2020-07-31 18:45:58 1520

原创 解决岛屿数量问题:并查集、DFS

岛屿数量 leetcode:200 给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 示例: 输入: 11110 11010 11000 00000 输出: 1 解法一:DFS 染色法是一种简单高效的回溯法。 使用染色法可以重置访问过的数据,本次染色可以上下左右判断。 每次进入 DFS 都要记录次数,DFS 完成的唯一功能就是染色。 染色的缺点是

2020-07-28 19:47:36 793 1

原创 leetcode8:字符串转换整数 (atoi)

看到大神,用正则式1行写出,再看看自己的if语句连篇还没做出来,很是受挫。 于是肝了三天,学会了正则表达式。因为不太聪明和要搞清一些细节的东西,才花了那么长时间。其实入门还是比较容易的。 我的见解: 不去处理字符串前面的空格,直接用正则表达式: ^\s*([+-]?\d+) 其中有以下两点是初学者要注意的: 里面的小括号()有什么用? ()是捕获组,因为我们实际不需要空格,需要获取剩余的对象。...

2020-03-07 23:34:44 190 1

Sun_Deep_Learning_Face_2014_CVPR_paper.pdf

DeepID系列的第一篇论文 deepid建立于convnets上,是多尺度中级特征的总结。 提取于不同人脸位置的特征是互补的,进一步提高表现。 弱对齐的人脸就能取得很好结果。 DeepId是紧凑的、并有高区别性。 more identities 训练身份数据越多,Deepid更进一步。

2019-11-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除