自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wake_alone

从入门到放弃

  • 博客(25)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 剑指offer35--复杂链表的复制——java/C++实现

题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)思路:哈希表法先复制一个链表,同时用哈希表存储所有指针 然后再遍历链表,利用哈希表复制所有指针/*struct RandomListNode { ...

2018-08-31 13:06:10 147

原创 剑指offer34--二叉树中和为某一值的路径

题目描述输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)思路:递归加回溯技巧:今天才知道可以把定义的放到上面。。。。vector这样就不用引用了。。。/*struct TreeNode { int val; ...

2018-08-25 19:41:12 153

原创 剑指offer33--二叉搜索树的后序遍历序列——java/C++实现

题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。思路:递归注意点:while可以保证i加一次 for循环保证精确break 但是在这个题目,应该要保证加一次for(int i=left;i<=right;i++)//这里应该是<=right,见上文注意点 eg:...

2018-08-25 16:27:50 173

原创 剑指offer32(1,2,3)--从上往下打印二叉树,分行从上往下打印二叉树,按之字形顺序打印二叉树——java/C++实现

从上往下打印二叉树题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。思路:层序遍历,用到队列/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { ...

2018-08-24 20:28:15 197

原创 剑指offer31--栈的压入、弹出序列——java/C++实现

题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)思路:(更好的)模拟这个的过程一个一个往栈里面放,然后每次放一个都得...

2018-08-24 19:33:25 171

原创 剑指offer30--包含min函数的栈——java/C++实现

题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。思路:辅助栈sta2 辅助栈必须要保持次小的元素 保持两个栈数量相等(我的做法)sta2可以放入最小的元素 sta2,只看现在放入的是不是小于等于最小值,是的话就放入sta2 class Solution {public: stack<int...

2018-08-24 16:27:11 148

原创 剑指offer28--对称的二叉树——java/C++实现

题目描述请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。思路:遍历的同时进行比较。注意:NULL节点也需要比较 前序比较方便。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right;...

2018-08-24 12:07:38 141

原创 剑指offer29--顺时针打印矩阵——java/C++实现

题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.思路:打印从0,0-------1,1-------------2.2 从0,0开始每次遇到起点就打印...

2018-08-24 11:22:43 129

原创 剑指offer27--二叉树的镜像——java/C++实现

题目描述操作给定的二叉树,将其变换为源二叉树的镜像。输入描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ 11 9 7 5...

2018-08-22 22:18:36 116

原创 剑指offer26--树的子结构——java/C++实现

题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路:从上往下找相同的节点,一旦找到一个,就开始判断子树是否相等。 如果不相等,那么就往左往右去找,可以用||连起来/*struct TreeNode { int val; struct TreeNode *left;https://www.nowcoder.com...

2018-08-22 22:03:44 176

原创 剑指offer25--合并两个排序的链表——java/C++实现

题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。思路:判断空 头节点需要判断, 然后让头节点一个一个吞噬链表。比较麻烦/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }...

2018-08-22 14:13:12 126

原创 有向图的最大路径

 阿里巴巴的一个编程测验输入:5 43210571 21 32 54 5输出: 3 13 #include <iostream>#include <algorithm>using namespace std;int dp[1000][1000] = { 0 };int cost[1000] = { 0 };int col...

2018-08-22 09:56:50 2503

原创 面试常考:排序算法2(希尔排序,归并排序,堆排序)

希尔排序O(N^d),最坏O(N^2),不稳定void ShellSort(int A[],int N){ /*O(N^d),最坏O(N^2),不稳定*/ int Si,D,P,i; int tmp; int Sedgewick[]={929,505,209,109,41,19,5,1,0};//互质的复杂度最小 for (Si=0;Sedgewick[Si]>=N;...

2018-08-16 16:51:54 712

原创 一文解决Memory的channel,chip,bank。如何优化内存访问?

https://www.techbang.com/posts/18381-from-the-channel-to-address-computer-main-memory-structures-to-understand这篇文章写的很清楚。我们配电脑的时候经常会听到双通道,一个通道就是一个channel一个channel下可以放不同的rank就是内存条。内存条上的小方块就是...

2018-08-15 16:04:11 8616 1

原创 leetcode45. 跳跃游戏Ⅱ

给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。  从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。说明:假设你总是可以到达数组...

2018-08-14 15:02:23 1841

原创 leetcode55. 跳跃游戏

给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入: [2,3,1,1,4]输出: true解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为 3 的...

2018-08-14 13:37:30 348

原创 剑指offer23--链表中环的入口节点

给一个链表,若其中包含环,请找出该链表的环的入口结点,否则,输出null。 思路:计算环的节点数两个指针,p1,p2p1一次走一步,p2一次走两步。第一次相遇之后开始计数,第二次再相遇时count的值就是环有多少个节点。判断入口节点两个指针,p1,p2p1先走count步,然后两个再同时走,相遇的点就是入口节点。 /*struct ListNode ...

2018-08-13 14:19:07 125

原创 剑指offer20--表示数值的字符串——java/C++实现

题目描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。代码实现:抄袭剑指offer,主要在于

2018-08-08 16:12:26 216

原创 c/c++形参const字符串的更改方式

#include <iostream>using namespace std;void func(const char*& str){ str++;}void func1(const char** str){ (*str)++;}int main(){ const char* str="adas"; cout<<str<&...

2018-08-08 15:47:24 365

原创 剑指offer19--正则表达式匹配——java/C++实现

题目描述请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配思路:空字符串---false 第二个字符串不是* 判断是否相等,相等就都...

2018-08-08 14:58:47 148

原创 剑指offer18--删除链表的节点——java/C++实现

在O(1)时间内删除链表节点给定单向链表的头指针和一个节点指针,定义一个函数在O(1)时间内删除该节点。思路:空节点 要删除的节点不是尾节点 链表只有一个节点,删除头结点 链表中有多个节点,删除尾节点删除链表中重复的结点题目描述在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3-&...

2018-08-07 23:38:56 192

原创 剑指offer17--打印从1到最大的n位数——java/C++实现

输入数字n,按顺序打印出从1到最大的n位十进制数。比如输入3,则打印出1,2,3一直到999(最大的3位数)。思路:因为n没给,所以必须考虑到大数相乘除得用字符串来处理。个位(最低位在str[0])加加 change函数检测是否需要进位,返回值是为了在最高位需要进位的时候停止 pcout输出#include <iostream>#include &l...

2018-08-03 16:26:54 186

原创 剑指offer22--链表中倒数第k个结点——java/C++实现

输入一个链表,输出该链表中倒数第k个结点。思路:两个指针一个往前走k次,然后再判断,总长度只有k的时候,稍微麻烦一些。class Solution {public: ListNode* FindKthToTail(ListNode* pListHead, unsigned int k) { if(pListHead==NULL) ...

2018-08-03 14:13:26 104

原创 剑指offer21--调整数组顺序使奇数位于偶数前面——java/C++实现

题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。思路1:建立一个新的数组class Solution {public: void reOrderArray(vector<int> &array) { ...

2018-08-03 13:21:27 131

原创 剑指offer16--数值的整数次方——java/C++实现

题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。思路:exponent大于,等于,小于0base为0,非0讨论这6种情况解题:class Solution {public: double Power(double base, int exponent) { do...

2018-08-03 09:58:28 152

apue文档英文版

英文第3版

2017-05-18

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

TA关注的人

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