![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
刷题心得
他们叫我一代大侠
这个作者很懒,什么都没留下…
展开
-
《剑指offer》面试题6:从尾到头打印链表(C++实现)
@[TOC](《剑指offer》面试题6:从尾到头打印链表))题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。原创 2019-05-21 20:37:42 · 150 阅读 · 0 评论 -
《剑指offer》面试题11:旋转数组的最小数字(C++实现)
《剑指offer》面试题11:旋转数组的最小数字(C++实现)题目描述解决思路思路一:二分法查找思路二:通过归纳总结数组查找规律小结参考文献题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0...原创 2019-05-29 16:21:31 · 311 阅读 · 0 评论 -
《剑指offer》面试题29:顺时针打印矩阵(C++实现)
《剑指offer》面试题29:顺时针打印矩阵(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.解决思路-每打印一圈...原创 2019-05-28 21:44:15 · 413 阅读 · 0 评论 -
《剑指offer》面试题25:合并两个排序的链表(C++实现)
《剑指offer》面试题25:合并两个排序的链表(C++实现)题目描述解决思路思路一:递归实现思路二:非递归实现小结参考文献题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。解决思路这道题重在对于问题的分析和理解。我们函数是得到了两个头节点的指针。我们需要定义一个合并后的链表头节点,然后比较两个链表头节点的值,其中值更小的节点作为合并链...原创 2019-05-28 20:15:31 · 433 阅读 · 0 评论 -
《剑指offer》面试题4:二维数组的查找(C++实现)
《剑指offer》面试题4:二维数组的查找(C++实现)题目描述解决思路思路一:二分法查找思路二:通过归纳总结数组查找规律小结参考文献题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解决思路对于一个二维数组而言,我们可以很轻松地想到,我们用...原创 2019-05-28 16:40:43 · 226 阅读 · 0 评论 -
《剑指offer》面试题16:数值的整数次方(C++实现)
a原创 2019-05-23 16:43:27 · 261 阅读 · 0 评论 -
《剑指offer》面试题10:题目4矩形覆盖(C++实现)
《剑指offer》面试题10:题目4矩形覆盖(C++实现)题目描述题目分析解决思路思路一:简单的递归思路二:用数组记录f(n)思路三:自底向上计算(动态规划)小结参考文献题目描述我们可以用2×1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2×1的小矩形无重叠地覆盖一个2×n的大矩形,总共有多少种方法?题目分析我们设f(n)代表n个2×1的小矩形无重叠地覆盖一个2×n的大矩形的方法数目。...原创 2019-05-22 19:23:13 · 221 阅读 · 0 评论 -
《剑指offer》面试题10:题目3青蛙变态跳台阶(C++实现)
《剑指offer》面试题10:题目2扩展青蛙变态跳台阶(C++实现))题目描述题目分析分析思路1:青蛙对每级台阶可选择过或者不过分析思路2:数学归纳法证明解决思路思路一:循环实现2的正整数次幂思路二:用位操作执行更快小结参考文献题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。题目分析分析思路1:青蛙对每级台阶可选择过或者...原创 2019-05-22 19:05:27 · 474 阅读 · 0 评论 -
《剑指offer》面试题10:题目2跳台阶(C++实现)
《剑指offer》面试题10:题目2跳台阶(C++实现)题目描述思路一:简单的递归思路二:用数组记录f(n)思路三:自底向上计算(动态规划)小结参考文献题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。问题分析:1.如果台阶数小于等于0 返回0。2.如果台阶数等于1 咱们的小青蛙有1种跳法。3.如果台阶数等于2...原创 2019-05-22 16:45:46 · 239 阅读 · 0 评论 -
《剑指offer》面试题10:题目1斐波那契数列(C++实现)
《剑指offer》面试题10斐波那契数列(C++实现)题目描述思路一:简单的递归思路二:用数组记录f(n)思路三:动态规划实现小结参考文献题目描述要求输入一个n,输出斐波纳妾数列的第n项。斐波那契数列定义如下。f(n)={0n=01n=1f(n−1)+f(n−2)n>1 f(n)=\left\{\begin{aligned}0&&\text...原创 2019-05-22 16:11:33 · 293 阅读 · 0 评论 -
《剑指offer》面试题32:从上到下打印二叉树(C++实现)
@TOC)题目描述题目描述从上往下打印出二叉树的每个节点,同层节点从左至右打印。题目分析这道题遍历二叉树的方法,不是我们熟悉的前序中序和后序遍历,我们对于这种比较新颖的遍历顺序不太熟悉,这种时候我们可以先画画图来模拟我们的整个打印过程。通过具体的分析过程,我们发现了从上到下打印整个二叉树的规律:每次打印一个节点的的时候,我们将这个节点的左节点和右节点先后放入队列的末尾。接下来我们只需...原创 2019-05-26 15:55:16 · 308 阅读 · 0 评论 -
《剑指offer》面试题31:栈的压入、弹出序列(C++实现)
@TOC)题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)题目分析这道题要注意的一点是,栈可以一边压入,一边弹出。而不是一次性按照...原创 2019-05-26 15:17:50 · 176 阅读 · 0 评论 -
《剑指offer》面试题22:链表中导数第K个节点(C++实现)
《剑指offer》面试题22:链表中导数第K个节点(C++实现)题目描述解决思路思路一:补充布尔型标志位代表无效输入思路二:用位运算符来提高我们的计算效率小结参考文献题目描述输入一个链表,输出该链表中倒数第k个结点。解决思路最简单的方法是让我们遍历这个链表两次。第一次遍历计算出我们的链表有n个节点。第二次遍历时,当走到第n-k+1个节点时,输出对应节点的值即可。但是,我们能不能用一次...原创 2019-05-26 13:52:01 · 183 阅读 · 0 评论 -
C++:最小众倍数求解
最小众倍数求解题目代码实现题目link代码实现#include<iostream>#include<vector>#include<algorithm>using namespace std; int main(){ int n; vector<int> res; while(cin>>n){ ...原创 2019-08-26 10:16:37 · 264 阅读 · 0 评论