《剑指offer-算法题练习》
文章平均质量分 69
梁Rio
这个作者很懒,什么都没留下…
展开
-
剑指offer-算法题练习:part22 包含min函数的栈
包含min函数的栈热度指数:8683时间限制:1秒空间限制:32768K本题知识点: 栈题目描述定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。我们可以设计两个栈:StackDate和StackMin,一个就是普通的栈,另外一个存储push进来的最小值。1)push操作:每次压入的数据value都push进StackDate原创 2016-10-21 12:13:33 · 348 阅读 · 0 评论 -
剑指offer-算法题练习:part12 数值的整数次方
剑指offer-算法题练习:part12 数值的整数次方时间限制:1秒空间限制:32768K题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。主要分三种情况:1)exponent==0;2)exponent>0;3)exponentclass Solution {public:原创 2016-09-29 12:33:48 · 366 阅读 · 0 评论 -
剑指offer-算法题练习:part13 数字字母重排序-笔试题
剑指offer-算法题练习:part13 数字字母重排序-笔试题C/C++语言对一个字符串重新排列,字母排在前面,数字排在后面,并不改变原来字母之间以及数字之间的字符顺序。#include #include #include void pure(char* buf, int length){ char num[50];//存储数字 char letter[50];//存储字母原创 2016-09-29 15:04:32 · 695 阅读 · 0 评论 -
剑指offer-算法题练习:part14 c++多线程—2个线程并发售票系统-烽火众智
剑指offer-算法题练习:part14 c++多线程—2个线程并发售票系统-烽火众智如果遇到“CreateMutexW”: 不能将参数 3 从“const char [8]”转换为“LPCWSTR”的错误,可以在vs中将项目的字符集,从“使用unicode字符集”改为“使用多字节字符集”。#include #include DWORD WINAPI Fun1Proc(LPVO原创 2016-09-29 15:50:56 · 1454 阅读 · 0 评论 -
剑指offer-算法题练习:part15 调整数组顺序使奇数位于偶数前面
调整数组顺序使奇数位于偶数前面热度指数:12003时间限制:1秒空间限制:32768K本题知识点: 数组算法知识视频讲解题目描述输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。先存奇数,后存偶数,使用压栈解决顺序问题。class Sol原创 2016-10-03 17:05:52 · 342 阅读 · 0 评论 -
剑指offer-算法题练习:part16 链表中倒数第k个结点
剑指offer-算法题练习:part16 链表中倒数第k个结点时间限制:1秒空间限制:32768K本题知识点: 链表题目描述输入一个链表,输出该链表中倒数第k个结点。代码思路如下:两个指针,先让第一个指针和第二个指针都指向头结点,然后再让第一个指正走(k-1)步,到达第k个节点。然后两个指针同时往后移动,当第一个结点到达末尾的时候,第二个结点所在位置就是倒数第k个节原创 2016-10-04 09:20:06 · 346 阅读 · 0 评论 -
剑指offer-算法题练习:part17 反转链表
剑指offer-算法题练习:part17 反转链表时间限制:1秒空间限制:32768K本题知识点: 链表题目描述输入一个链表,反转链表后,输出链表的所有元素。通过堆栈来反转链表。code2——压栈出栈/*struct ListNode { int val; struct ListNode *next; ListNode(int x)原创 2016-10-04 21:29:40 · 424 阅读 · 0 评论 -
剑指offer-算法题练习:part18 合并两个排序的链表
剑指offer-算法题练习:part18 合并两个排序的链表时间限制:1秒空间限制:32768K本题知识点: 链表题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。code1——非递归,比较大小/*struct ListNode { int val; struct ListNode *next; List原创 2016-10-05 13:45:52 · 354 阅读 · 0 评论 -
剑指offer-算法题练习:part19 树的子结构
剑指offer-算法题练习:part19 树的子结构时间限制:1秒空间限制:32768K题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x原创 2016-10-06 10:07:37 · 331 阅读 · 0 评论 -
剑指offer-算法题练习:part20 二叉树的镜像
剑指offer-算法题练习:part20 二叉树的镜像题目描述操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述:二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \5 7 9 11镜像二叉树 8 / \ 10 6 / \ / \11 9 7 5code原创 2016-10-06 20:59:09 · 389 阅读 · 0 评论 -
剑指offer-算法题练习:part11 二进制中1的个数
剑指offer-算法题练习:part11 二进制中1的个数时间限制:1秒空间限制:32768K算法知识视频讲解题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。这段小小的代码,很是巧妙。如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右原创 2016-09-29 11:04:04 · 407 阅读 · 0 评论 -
剑指offer-算法题练习:part10 矩形覆盖-斐波那契数列问题
剑指offer-算法题练习:part10 矩形覆盖-斐波那契数列问题时间限制:1秒空间限制:32768K题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?依旧是斐波那契数列2*n的大矩形,和n个2*1的小矩形其中target*2为大矩阵的大小有以下几种情形:1⃣️tar原创 2016-09-29 09:39:28 · 1279 阅读 · 0 评论 -
剑指offer-算法题练习:part1 二维数组中的查找(数组)
剑指offer-算法题练习:part1 二维数组中的查找(数组)二维数组中的查找热度指数:23172 时间限制:1秒 空间限制:32768K本题知识点: 查找题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。class Solution原创 2016-09-27 16:56:05 · 348 阅读 · 0 评论 -
剑指offer-算法题练习:part2 替换空格
剑指offer-算法题练习:part1 替换空格时间限制:1秒空间限制:32768K本题知识点: 字符串算法知识视频讲解题目描述请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。//length为系统规定字符串输出的最大长度,固定为一个常数class Solut原创 2016-09-27 21:13:52 · 384 阅读 · 0 评论 -
剑指offer-算法题练习:part3 从尾到头打印链表
剑指offer-算法题练习:part3 从尾到头打印链表时间限制:1秒空间限制:32768K本题知识点: 链表算法知识视频讲解题目描述输入一个链表,从尾到头打印链表每个节点的值。 输入描述:输入为链表的表头输出描述:输出为需要打印的“新链表”的表头解法1——deque:/*** struct ListNode {* i原创 2016-09-27 22:05:12 · 362 阅读 · 0 评论 -
剑指offer-算法题练习:part4 重建二叉树
剑指offer-算法题练习:part4 重建二叉树时间限制:1秒空间限制:32768K题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。/** * Definition for原创 2016-09-27 23:09:26 · 379 阅读 · 0 评论 -
剑指offer-算法题练习:part5 用两个栈实现队列
剑指offer-算法题练习:part5 用两个栈实现队列时间限制:1秒空间限制:32768K本题知识点: 队列 栈算法知识视频讲解题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。用两个栈实现一个队列的功能?要求给出算法和思路!:入队:将元素进栈A出队:判断栈B是否为空,如果为空,则将栈A中所有元素pop,并原创 2016-09-28 19:25:57 · 378 阅读 · 0 评论 -
剑指offer-算法题练习:part6 旋转数组的最小数字
剑指offer-算法题练习:part6 旋转数组的最小数字时间限制:1秒空间限制:32768K本题知识点: 查找算法知识视频讲解题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给原创 2016-09-28 20:48:20 · 386 阅读 · 0 评论 -
剑指offer-算法题练习:part7 斐波那契数列-斐波那契数列问题
剑指offer-算法题练习:part7 斐波那契数列时间限制:1秒空间限制:32768K题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n1)n=0时,return f(n)=02)n=1时,return f(n)=13)n>=2时,f(n)=f(n-1)+f(n-2)4)return f(n)class S原创 2016-09-28 22:31:27 · 350 阅读 · 0 评论 -
剑指offer-算法题练习:part8 跳台阶-斐波那契数列问题
剑指offer-算法题练习:part8 跳台阶时间限制:1秒空间限制:32768K题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。对于本题,前提只有 一次 1阶或者2阶的跳法。a.如果两种跳法,1阶或者2阶,那么假定第一次跳的是一阶,那么剩下的是n-1个台阶,跳法是f(n-1);b.假定第一次跳的是2阶,那么原创 2016-09-28 23:11:08 · 355 阅读 · 0 评论 -
剑指offer-算法题练习:part9 变态跳台阶-斐波那契数列问题
剑指offer-算法题练习:part9 变态跳台阶时间限制:1秒空间限制:32768K题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。关于本题,前提是n个台阶会有一次n阶的跳法。分析如下:f(1) = 1f(2) = f(2-1) + f(2-2) //f(2-2) 表示2阶一次跳2阶的次原创 2016-09-29 09:08:43 · 437 阅读 · 0 评论 -
剑指offer-算法题练习:part21 顺时针打印矩阵
剑指offer-算法题练习:part21 顺时针打印矩阵时间限制:1秒空间限制:32768K本题知识点: 数组题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 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原创 2016-10-20 09:23:36 · 362 阅读 · 0 评论