敲代码
Emma__M
老和山职业技术学院研究僧一枚
展开
-
编程题 DNA序列
编程题 : DNA序列题目描述:牛牛又从生物科研工作者那里获得一个任务,这次牛牛需要帮助科研工作者从DNA序列s中找出最短没有出现在DNA序列s中的DNA片段的长度。例如:s = AGGTCTA序列中包含了所有长度为1的(‘A’,‘C’,‘G’,‘T’)片段,但是长度为2的没有全部包含,例如序列中不包含"AA",所以输出2。输入描述:输入包括一个字符串s,字符串长度length(...原创 2019-03-12 23:14:40 · 1318 阅读 · 0 评论 -
剑指offer——判断二叉搜索树后序遍历
剑指offer——判断二叉搜索树后序遍历**题目描述:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。class Solution {public: bool VerifySquenceOfBST(vector<int> sequence) { ...原创 2019-03-24 12:57:40 · 190 阅读 · 0 评论 -
剑指offer——二叉树的镜像
剑指offer——二叉树的镜像题目描述:操作给定的二叉树,将其变换为源二叉树的镜像。题目分析:按照某种顺序遍历二叉树,交换其左右结点。推荐前序和后序。中序容易出错。如果中序,对一个结点的操作顺序是:将该结点的左子树镜像->交换左右结点->将该结点的右子树镜像Bug来了,交换后访问的右子树其实是以前的左子树,之前把左子树镜像了,现在又镜像一遍,其实这棵树没变。。。。。。...原创 2019-03-26 18:44:50 · 115 阅读 · 0 评论 -
剑指offer——反转链表
剑指offer——反转链表题目描述:输入一个链表,反转链表后,输出新链表的表头。题目分析:先存入数组,再反转数组;AC代码:/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }};*/class Solution {public: ...原创 2019-03-26 17:33:34 · 102 阅读 · 0 评论 -
剑指offer——链表中倒数第k个结点(队列实现)
剑指offer——链表中倒数第k个结点题目描述 :输入一个链表,输出该链表中倒数第k个结点。题目分析:做一个长度为k的滑动窗口,当访问链表结束时,输出窗口第一个;用队列做这个窗口。AC代码:/*struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) {...原创 2019-03-26 16:21:12 · 283 阅读 · 0 评论 -
剑指offer——求整数幂
剑指offer——求整数幂题目描述:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。题目分析:直接pow 居然也可以不用库函数的方法:1.一次次累乘,复杂度O(n)2.快速幂,复杂度O(log n)3.递归,递归常产生多次重复计算下面的代码用快速幂方法AC代码:class Solution {public: d...原创 2019-03-26 15:25:51 · 208 阅读 · 0 评论 -
剑指offer——矩形覆盖
剑指offer——矩形覆盖题目描述:我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?题目分析:如图,其实就是个斐波拉契数列AC代码:class Solution { public: int rectCover(int number) { map<int,i...原创 2019-03-26 14:28:56 · 163 阅读 · 0 评论 -
剑指offer——青蛙跳台阶(初级版+变态版)
剑指offer——青蛙跳台阶1.初级版题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。题目分析:递归,每次如果刚好跳到终点,种数+1如果越过了终点,return如果还没到终点,继续跳一格和两格;AC代码:class Solution {public: int jumpFloor(int nu...原创 2019-03-26 14:09:07 · 313 阅读 · 0 评论 -
剑指offer——旋转数组的最小数字
剑指offer——旋转数组的最小数字题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。题目分析:从前往后找,如果在某个位置后面一个的值小于前面一个,就返回后...原创 2019-03-26 12:49:23 · 153 阅读 · 0 评论 -
剑指offer——二进制表示中1的个数
二进制表示中1的个数题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。题目分析:每次将n二进制表示中最后一个1变成0,其余不变,直到n为0为止。AC代码:class Solution {public: int NumberOf1(int n) { int ans=0; while(n!=0)//只要n不为0(二进...原创 2019-03-24 13:37:47 · 129 阅读 · 0 评论