
offer
up_XCY
越努力,越幸运。
展开
-
利用两个队列模仿队列
已知栈的4个运算定义如下: Push(S,x) //元素x入栈 Pop(S,x) //S出栈并将出栈的元素赋值给x StackEmpty(S) //判断S是否为空 StackOverflow(S) //S是否满 用以上的运算实现以下3个运算:进队列,出队列,判空。 算法思想:利用两个栈s1和s2来模拟队列,当需要向队列中插入元素时,用s1来存放已输入的元素,即原创 2016-09-22 21:31:54 · 375 阅读 · 0 评论 -
数组
/* 在一个二维数组中,每一行都按照从左到右递增的顺序排序, 每一列都按照从上到下递增的顺序排序。请完成一个函数,输 入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 */ //思想:设所查找的数位t,从右上角开始比较a[0][n-1],若a[0][n-1]>t,则说明这一列的数都大于t,故左移变成a[0][n-2],若大于则继续左移,若小于则说明这一行的数都小于t,原创 2016-09-20 15:25:12 · 255 阅读 · 0 评论 -
替换
//请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 //注意输入string a时,若使用语句:cin>>a,则只能输入单个单词,到空格处不在读入。若要读入句子请使用: getline()函数读取一行。getline(cin,a). #include #include u原创 2016-09-20 16:19:03 · 230 阅读 · 0 评论 -
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
解题思路: 这道题看似简单,其实BUG重重。要注意的问题: 1 关于次幂的问题特殊的情况,比如次幂为负数,或者基数为0时等等复杂的情况 2 机器中浮点数的比较是由误差的,因此double类型的比较,不能用简单的a==0来比较。一般的比较方式是,相减的差在一个很小的区间内,我们就认为是相等的。 public class Solution {转载 2016-09-23 15:28:44 · 381 阅读 · 0 评论 -
给出树的先序和中序,求二叉树
//输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。 //假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 //例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 // 思想: //1. 先序得到根节点 //2. 根据根节点将中序分为左右子树 //3.重复1 2创建左右子树。原创 2016-09-21 16:45:29 · 685 阅读 · 0 评论