笔试编程题
仙人掌气球
啊,我很懒
展开
-
跳台阶——递归
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。public class Solution { public int JumpFloor(int target) { if(target == 1){ return 1; }else if(target == 2){原创 2016-09-19 21:42:40 · 222 阅读 · 0 评论 -
矩形覆盖——递归
题目描述:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 解题思路: 当n = 0时,有0种方法; 当n = 1时,有1种方法:一个2*1的小矩形横放; 当n = 2时,有2种方法:两个小矩形竖放或者横放; 当n = 3时,有3种方法:n-1时加一个横放的小矩形,n-2时加两个竖放的小矩形; 当n = 4时原创 2016-10-03 16:22:29 · 309 阅读 · 0 评论 -
二维数组中的查找
题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路 使用两个嵌套的for循环,将每行中的所有列与target进行比较判断,等于target则返回true,跳出所有循环,大于target则进入下一行进行判断public class Solution { pu原创 2016-10-03 16:56:07 · 217 阅读 · 0 评论 -
替换空格
题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。public class Solution { public String replaceSpace(StringBuffer str) { String print = ""; for(int原创 2016-10-03 17:04:12 · 182 阅读 · 0 评论 -
从尾到头打印链表
题目描述输入一个链表,从尾到头打印链表每个节点的值。 输入描述: 输入为链表的表头输出描述: 输出为需要打印的“新链表”的表头解题思路先将listNode中的数据按原序保存到一个ArrayList数组中,再将这个数组链表倒序即可 注意:arraylist.add(i, k)是将k添加在第i个数的前面/** * public class ListNode { * int va原创 2016-10-04 17:33:27 · 183 阅读 · 0 评论 -
购物单预算的最大值和最小值
要点:商品名会有相同的import java.util.Scanner; //京东编程题——购物单预算的最大值和最小值 /**输入 6 5//商品总数 要购买的商品数 2 3 5 10 4 1//所有商品的价格 ff//商品名 gg ff dd dd */ public class test{ public static void main(String[] args){原创 2016-09-06 15:14:10 · 398 阅读 · 0 评论 -
重建二叉树——递归
此题加深了我对递归的应用和理解,值得一记 题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。解题思路在前序序列中,第一个一定是根节点; 然后在中序序列中找到前序序列中的第一个数,这个数的序号记为k,k左边原创 2016-10-04 23:16:42 · 275 阅读 · 0 评论 -
用两个栈实现队列
题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。解题思路栈:先进后出; 队列:先进先出; 队列的push操作:将元素存入栈1 队列的pop操作:将栈1的元素依次(先进后出)存入zhan2,输出栈2的栈顶元素即可import java.util.Stack;public class Main { static Stack<Integer> st原创 2016-10-06 15:37:02 · 195 阅读 · 0 评论