kongkong
首页
归档
分类
标签
关于
剑指Offer——(7)斐波那契数列
题目说明: 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39 实现如下: //0 1 1 2 3 5 8 13 21... //简洁的递归,但是注意消除重复计算项,采用map存储已计算的n的value class Solution { public: map<int, long long> m; long long nu
2020-06-28
Data Structures and Algorithms
剑指Offer
剑指Offer——(6)旋转数组的最小数字
题目描述: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。 实现如下: //{3,4,5,1,2} // l m r //规
2020-06-28
Data Structures and Algorithms
剑指Offer
剑指Offer——(5)用两个栈实现队列
题目描述: 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 实现如下: //栈:先进后出 队列:先进先出 //注意最后一个元素的转移优化 //两个队列实现一个栈 //stack1负责入栈,stack2负责出栈 class Solution { public: void push(int node) { stack1.push(
2020-06-28
Data Structures and Algorithms
剑指Offer
剑指Offer——(4)重建二叉树
题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 实现如下: //前序中序、后序中序都可以重建二叉树,但前序后序不可以,因为只有中序可以区分左子树与右子树 /* pre:{1,2,4,7
2020-06-28
Data Structures and Algorithms
剑指Offer
剑指Offer——(3)从尾到头打印链表
题目描述: 输入一个链表,从尾到头打印链表每个节点的值。 实现如下: //可以使用stack的先进后出,也可以使用递归,因为已给定函数所以使用递归 //本题的在线测试用例是无头链表→_→ /*节点结构体 struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(
2020-06-28
Data Structures and Algorithms
剑指Offer
剑指Offer——(2)替换空格
题目描述: 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。在此字符串上完成替换,空间保证足够。 实现如下: //"We Are Happy" //" helloworld" //"" //" " class Solution { public: void replace
2020-06-27
Data Structures and Algorithms
剑指Offer
剑指Offer——(1)二维数组中的查找
题目描述: 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 实现如下: /* 1 2 8 9 2 4 9 12 4 7 10 13 6 8 11 15 */ //从右上角或左下角突破,时间复杂度O(n) class Solution { public: bo
2020-06-27
Data Structures and Algorithms
剑指Offer
字节序
* 字节序是何物。。。? * 小人国的内战源于吃水煮鸡蛋时究竟是从大头敲开还是从小头敲开,因此曾发生过6次叛乱,其中一个皇帝送了命,另一个丢了王位。 不同的计算机体系结构中,可能采用不同的存储和传输机制,通常采用的字节存储机制主要有两种:大端(Big-endian)和小端(Little-endian)。 最重要的位或最重要的字节(MSB,Most Significant Bit/Byte),
2020-06-27
Linux
字节序
链接、装载与库——目标文件(3)
* 总结的速度,追不上看书的速度了。。。 * 第三章 目标文件里面有什么 ELF文件的基本结构是什么样子? ELF目标文件的最前部是ELF 文件头(ELF Header),其包含描述整个文件的基本属性,如ELF文件版本、目标机器型号、程序入口地址等。接着是各段。之后为段表(Section Header Table),该表描述了ELF文件包含的所有段的信息,如短的段名、段的长度、在文件中的偏移、
2020-06-27
Linux
链接、装载与库
链接、装载与库——目标文件(2)
* 逐个分析各段。。。 * 第三章 目标文件里面有什么 真正了不起的程序员对自己的程序的每一个字节都了如指掌。 //Test.c int global_init_var = 84; int global_uninit_var; void func1(int i) { printf("%d\n", i); } int main() { static int
2020-06-27
Linux
链接、装载与库
1
…
9
10
11
12
搜索
×
关键词