剑指Offer
Z-Pilgrim
这个作者很懒,什么都没留下…
展开
-
*Leetcode 426 & 剑指 Offer 36. 二叉搜索树与双向链表
Leetcode 426 & 剑指 Offer 36. 二叉搜索树与双向链表原创 2023-01-11 07:28:01 · 98 阅读 · 0 评论 -
剑指offer(第二版)33 判断后序遍历序列是否是二叉搜索树的
https://www.nowcoder.com/practice/a861533d45854474ac791d90e447bafd?tpId=13&tqId=11176&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-rankingclass Solution...原创 2018-06-19 01:24:35 · 136 阅读 · 0 评论 -
*剑指offer(第二版)31 栈的压入、弹出序列
https://www.nowcoder.com/practice/d77d11405cc7470d82554cb392585106?tpId=13&tqId=11174&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking开一个辅助栈写代码会更清晰,...原创 2018-06-18 23:58:28 · 125 阅读 · 0 评论 -
**剑指offer-70-53 0-n-1中缺失的数字
如果原来的数组无序,那么hash O(n)https://www.lintcode.com/problem/missing-number/descriptionclass Solution { public: /** * @param nums: An array of integers * @return: An integer */ int fin...原创 2018-06-25 00:44:36 · 324 阅读 · 0 评论 -
LeetCode 206. Reverse Linked List
https://leetcode.com/problems/reverse-linked-list/ /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NU原创 2017-02-06 14:27:54 · 519 阅读 · 0 评论 -
**题目1370:数组中出现次数超过一半的数字
http://ac.jobdu.com/problem.php?pid=1370 不错的题。O(n+k*log(n))过不了,O(n)可以过,有些人直接快排过了,这个似乎有点不太好 这道题两种思路: (1)O(n+k*log(n)) 我的超时了,即使递归改为非递归也超时 思路:如果一个数出现次数超过总个数的一半,那么这个数的数值必然等于中位数的数值,因为如果排序的话,那么这个数原创 2015-09-04 18:48:33 · 478 阅读 · 0 评论 -
**题目1351:数组中只出现一次的数字
http://ac.jobdu.com/problem.php?pid=1351 不错的题。 最基本的题型是:一个数组,只有一个数出现一次,其他都是出现2次,那么直接异或就行。 这道题的思路很有意思:把问题向上面所说的题型转化,那么就需要把原来的数组分成两个数组,那么如何保证分完之后的仍然是两个符合上面特征的数组就是个问题了。 答案是:把所有的数的异或和,看哪一位是1,说明目标的两原创 2015-09-05 00:27:19 · 540 阅读 · 0 评论 -
剑指Offer 题目1515:打印1到最大的N位数
http://ac.jobdu.com/problem.php?pid=1515 题目本身太low,还是趁这个机会练练大数运算比较好。下面提供两种写法,C++纯手写大数计算,和JAVA大数类,如果机考,还是JAVA大数类吧。 #include #include #include #include #include using namespace std; con原创 2015-09-04 11:21:49 · 468 阅读 · 0 评论 -
题目1389:变态跳台阶 简单DP
http://ac.jobdu.com/problem.php?pid=1389 这样的题只要分类不要重复就没问题了。 可以分为, 第一次跳0步,也就是直接跳到终点。 第一次跳1步,然后在跳f(i-1) 第一次跳2步,然后在跳f(i-2) ... DP我果断是弱爆了,第一次写居然把第一次跳的那个+1,想了下A了 #include #include #include原创 2015-08-29 15:17:05 · 895 阅读 · 0 评论 -
题目1386:旋转数组的最小数字 剑指offer08
http://ac.jobdu.com/problem.php?pid=1386 WA了一发,因为没有考虑本身有序的情况。 貌似是cuhk曾经的面试题,当初准备CUHK面试的时候在别人博客看到过。 思路二分,朴素的想法我有,但是特殊情况没考虑好。 *mid与*first比,*mid与*end比,*mid>=*first,说明*mid现在在前面的有序部分。 *mid 对应修改first和原创 2015-08-29 14:56:35 · 612 阅读 · 0 评论 -
题目:1385 由前序和中序构建二叉树
http://ac.jobdu.com/problem.php?pid=1385 蛮怀旧的题目,记得大一就见过一直没做过,没难度,纯小心吧。 类似的是有中序和后续构建二叉树。比如http://www.cnblogs.com/kaituorensheng/p/3788533.html 思路很简单 递归构造: #include #include #include #include原创 2015-08-28 19:08:28 · 718 阅读 · 0 评论 -
倒着处理的思维--包含字符串匹配和九度1510 替换空格 剑指offer03
倒着来是处理字符串等的一个不错的技巧。举个例子,和这道题无关的,但是难度和意义都是更好的。 比如非完全匹配,就是差一个字符不匹配 那么其实有一种复杂度还不错的做法: 模式串:aacb 需要匹配的字符串: 1、aamb 2、acb 3、aamdb 这个时候其实可以先正向匹配,算出来匹配的字符的个数p1,再反向匹配,算出来匹配的个数p2,然后看p1+p2与模式串的长度的关系 恩,以上原创 2015-08-28 15:08:11 · 613 阅读 · 0 评论 -
九度题目1384:二维数组中的查找
题目链接:http://ac.jobdu.com/problem.php?pid=1384 剑指Offer的解释:http://www.cnblogs.com/zhuyf87/archive/2013/03/01/2938013.html 开始的时候思路卡在如果降低时间复杂度上,我想的选点是选左上角和右下角,但是显然复杂度太高......也考虑过蛇形把矩阵剥皮,还考虑过随机选点,然后每次删除一原创 2015-08-28 13:52:21 · 730 阅读 · 0 评论