2017年2月26日
摘要: 思路:采用递归树的思想,当左括号数大于右括号数时可以加左或者右括号,否则只能加左括号,当左括号数达到n时,剩下全部 public static void main(String[] args){ ArrayList<String> res = new ArrayList<String>(); Sca 阅读全文
posted @ 2017-02-26 21:11 蒋闯 阅读(209) 评论(0) 推荐(0) 编辑
  2017年2月23日
摘要: 解题思路:合并两个数组,创建一个 Map对象,用以存放排好顺序的键值对,键为序号,值为数组值,中位数的结果分两种情况讨论: 1、m+n为奇数:(m+n)/2为中位数 2、m+n为偶数:(((m+n)/2-1)+(m+n)/2)/2为中位数 public class FindMedianNum { p 阅读全文
posted @ 2017-02-23 14:27 蒋闯 阅读(347) 评论(0) 推荐(0) 编辑
  2017年2月22日
摘要: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路:这个问题归根结底还是一个费布拉奇数列,设跳法为f(n),则当青蛙第一次跳一级台阶时,剩下n-1个台阶,有f(n-1)种跳法,当青蛙第一次跳二级台阶时,剩下n-2个台阶,有f(n-2)种跳法。 故得到数学 阅读全文
posted @ 2017-02-22 15:39 蒋闯 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 此题提供三种思路及对应代码: 方法一:构建一个新数组,将旧数组随机的一个数存储进新数组,判断新数组中有没有该数,有则继续,无则插入,但存在运气,因为随机抽取的可能已经存在于新数组中了; 方法二:构建一个新数组,将旧数组随机的一个数存储进新数组,并将这个数从旧数组中删除,下次就不会再随机抽到该数了; 阅读全文
posted @ 2017-02-22 15:16 蒋闯 阅读(2940) 评论(0) 推荐(0) 编辑
摘要: 小易去买苹果,有两种包装,一种一袋8个,一种一袋6个,小易要买n个苹果(不能多也不能少),输出袋子最少的购买方案,如无法正好买到n个,则输出-1. public class BuyApple { public static void main(String[] args) { Scanner inp 阅读全文
posted @ 2017-02-22 13:13 蒋闯 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 主要思路:将二进制转化为十进制,然后进行十进制加法,最后再将加法所得的结果转化为二进制 public class BinarySum2 { public static void main(String[] args) { String a = "111"; String b = "101"; int 阅读全文
posted @ 2017-02-22 11:03 蒋闯 阅读(406) 评论(1) 推荐(0) 编辑
  2017年2月21日
摘要: 我用String代替了链表显示,本题的大意是每k个进行逆序处理,剩下的不够k个的就按照原顺序保留下来。 public class ReverseNodes { public static void main(String[] args) { String str = "1->2->3->4->5-> 阅读全文
posted @ 2017-02-21 19:40 蒋闯 阅读(159) 评论(0) 推荐(0) 编辑
摘要: public class GetMinNumber { public static void main(String[] args) { String[] arr = null; System.out.println("输入一行待处理的整型数据,并以逗号隔开:"); Scanner input = 阅读全文
posted @ 2017-02-21 15:29 蒋闯 阅读(130) 评论(0) 推荐(0) 编辑