- 博客(26)
- 资源 (9)
- 收藏
- 关注
原创 leetcode笔记:Reverse Integer
反转一个整数,若为负数,则负号不变,然后反转负数。该题题设虽然简单,但隐藏一些陷阱,如反转后数字的溢出问题、低位为0时反转到高位时又怎么处理。这种题目目的不是为了考察某种算法,而是考察对各种边界条件是否考虑周全。这里的代码只是能Accept,不代表完美无缺。
2015-12-31 23:17:58 1493
原创 leetcode笔记:Sqrt(x)
该题要求实现求根公式,该题还算是比较简单的,因为只需返回最接近的整数,直接二分法即可。在实现的过程中还是有一些细节的,比如判断条件:x / mid > mid而不能是x > mid * mid,因为mid * mid会导致溢出。
2015-12-31 22:56:07 1373
原创 leetcode笔记:Subsets II
该题相比Subsets一题略有不同,该题在给定的数组中,允许出现重复的元素。但最后输出的排列不能有重复的组合。因此,在DFS时,使用一个数组temp来记录某个数是否被使用过即可。
2015-12-29 23:48:00 2200
原创 使用Python和Splinter实现12306火车票查询与抢票
有一段时间没有使用Python了,前几天经朋友提起一篇关于用Python实现抢火车票的文章,百度了实现抢火车票的技术细节,网上却有不少资料,也不是新鲜的东西。在了解了一些技术手段后,也尝试实现了一下,代码写得粗糙,纯当娱乐,本文在Windows系统下完成。
2015-12-29 21:00:26 30815 7
原创 leetcode笔记:Nim Game
你正在和你的朋友们玩下面这个Nim游戏:有一堆石头放在桌上,你每次可以从中拿走1到3颗。谁消除掉最后一个石头即为赢家。假设你是第一轮开始取石头。现在你们游戏中的每个人都有着非常聪明的头脑和绝佳的策略。写一个函数,对与一个给定的石头数目,算出你是否可以赢得这场比赛。
2015-12-29 00:35:35 2916
原创 leetcode笔记:Subsets
该题的大意是,给定一个集合,求出这个集合所有的子集(所谓子集,就是包含原集合中的一部分元素的集合)。可使用DFS递归嵌套。总共N层,时间复杂度为O(N^2)。我的做法是使用位运算,一个含有N个元素的数组有N^2个子集,因此该题目可转换为求数组的元素组合。使用一个N位二进制位表示数组nums的各下标出现与否,当某一位为1表示这次组合中出现当前下标所对应的元素,否则表示不选择当前下标元素。
2015-12-28 22:39:04 1793
原创 leetcode笔记:Partition List
题目的大意是,给定一个单链表和一个值x,把链表中小于x的放到x的前面,大于等于x的放到x的后面,每部分元素的原始相对位置不变。该题是一个普通的链表遍历的题目,需要注意的地方在于必须将链表的最后一个节点的下一个节点更新为null,不然链表会出现环,从而导致死循环的情况。
2015-12-27 01:59:37 2331
原创 leetcode笔记:Wildcard Matching
题目的大意是,给出两串字符串s和p,规定符号?能匹配任意单个字符,*能匹配任意字符序列(包括空字符序列)。如果两串字符串完全匹配则返回true。
2015-12-26 18:09:19 1978 1
原创 leetcode笔记:Search Insert Position
题目的大意是,给定一个已排序的数组和一个目标值target,如果在数组中找到该目标值,就返回这个目标值的元素下标。如果没有找到,就返回target应该插入到该数组中的位置下标。这个过程中,假设该数组中没有重复元素。该题和Search for a Range的解法类似,二分查找即可。
2015-12-25 20:13:10 1897 1
原创 leetcode笔记:First Bad Version
只需实现类似于Search for a Range一题的功能,判断坏版本的函数bool isBadVersion(version)题目已经提供,无需纠结如何操作,使用二分查找来解决问题。
2015-12-25 17:42:19 2336 1
原创 leetcode笔记:Search for a Range
题目大意是,给定一个已排序的序列和一个目标数字target,在这个序列中寻找等于target的元素的下标范围。由于序列已经排好序,直接用二分查找,分别求等于target的最靠左的元素下标left和最靠右的元素下标right。
2015-12-25 16:59:29 2495 2
原创 leetcode笔记:Sort Colors
题目一开始说到一组对象,包含红白蓝三种颜色,然后要对他们进行排序,说白了就是对一个只含有 0, 1, 2 三个数字的数组从小到大排序。
2015-12-24 23:59:01 1968
原创 leetcode笔记:First Missing Positive
该题的大意是给定一个未排序的数组,该数组可能包含零或正负数,要求找出第一个未出现的正数。
2015-12-24 01:45:52 2448 2
原创 leetcode笔记:Longest Substring Without Repeating Characters
题目的大意是,给出一串字符串,找出无重复字符的最长子串,输出其长度。可以使用两个指针,一个指向当前子串的头,一个指向尾,尾指针不断往后扫描,当有字符前面出现过,记录当前子串长度和最优解的比较结果。然后头指针不断往后扫描,直到扫描到一个字符和尾指针相同,则尾指针继续扫描,当尾指针到达字符串结尾时算法结束。
2015-12-16 23:59:10 1921
原创 leetcode笔记:Jump Game II
该题的大意是,给定一个数组,每个元素代表从该位置可以往后跳的距离,问从第一个位置跳到最后一个位置至少需要跳多少次。与 Jump Game 有所不同的是,Jump Game 询问该数组能否跳到最后一格,这道题要求算出跳的次数。解决的思路依旧是贪心,只需设置一个数组用来记录跳的路径即可。
2015-12-16 00:57:37 2038
原创 leetcode笔记:Jump Game
该题的大意是,给定一个数组,从第一个元素开始,元素的值表示能够往后跳的最大距离,问按照这种规则,该数组是否能跳到最后一个元素。题的基本思路是贪心算法。
2015-12-15 23:55:47 2023
原创 leetcode笔记:Spiral Matrix
题意:给定一个m*n的矩阵,从外围一层一层的打印出矩阵中的元素内容。解题的方法有多种,以下采用的方法是,使用四个数字分别记录上下左右四个边界的位置,不断循环以收窄这些边界,最终当两个边界重叠时,结束循环。
2015-12-12 21:57:10 1561
原创 问题解决:FFmpeg视频编解码库,无法解析的外部信号
编译FFmpeg相关项目时,在包含目录、库目录、环境变量等配置无误的情况下,出现无法解析的外部信号的解决方法。
2015-12-10 17:11:37 6348 3
原创 leetcode笔记:Word Search
题目的大意是,给定一个board字符矩阵和一个word字符串,可以从矩阵中任意一点开始经过上下左右的方式走,每个点只能走一次,若存在一条连续的路径,路径上的字符等于给定的word字符串的组合,则返回true,否则返回false。
2015-12-08 23:32:15 2242
原创 leetcode笔记:Longest Consecutive Sequence
该题可以在进行一次最大连续子序列查找的过程中将所有在该连续子序列中的元素进行标记,从而减少寻找最长连续子序列的这个过程,降低计算复杂度,使得这个寻找过程的计算复杂度为O(n)。
2015-12-03 23:47:48 1885
原创 leetcode笔记:Construct Binary Tree from Inorder and Postorder Traversal
这道题考察了先序和中序遍历,先序是先访问根节点,然后访问左子树,最后访问右子树;中序遍历是先遍历左子树,然后访问根节点,最后访问右子树。
2015-12-01 00:00:13 1907
基于SVM与人工神经网络的车牌识别OpenCV&C++实现
2015-05-29
模式识别 Matlab生成模式类
2015-03-13
Harris角点检测
2015-03-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人