
牛客网-编程以及笔记
摊研发的饼子
本人男,爱好女。除此之外,诸多爱好。虽文不能治国,武不能安邦,但确实是好人一枚。喜欢文学,唐诗宋词略懂皮毛。笔耕不辍,记些鸡毛蒜皮,市井小事。
展开
-
两个栈实现一个队列
问题描述:如题,用两个栈来实现一个队列,完成队列的Push和Pop操作。public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); public void push(int node) { s原创 2017-09-25 23:29:49 · 190 阅读 · 0 评论 -
合并两个单调递增的链表,使得合并后的链表也是有序
问题描述:如下注释 思路:直接遍历两链表,将当前较小值的节点存入新链表,并移动节点。最后判两链表是否为空,将剩下的元素加到新链表中。 /** * 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 */ public ListNode Merge(ListNode list1,ListNode list2) {原创 2017-09-26 23:30:42 · 327 阅读 · 0 评论 -
求出该年的第几天
问题描述: 给出年月日,求出是该年的第几天。 思路:使用数组分别存储十二个月对应的天数,由于平年的二月是28天,闰年的二月是29天,默认二月为28天,最后判断是否为闰年,是则加上1天,否则不加。import java.util.Scanner; /** * 求出该年的第几天 */ public class Main { public static void main(String[]原创 2017-09-26 23:45:09 · 366 阅读 · 0 评论 -
判断一个字符串的字符重新排列后,能否变成另一个字符串。
问题描述:如题,废话不多说,上菜。 /** * 这里规定大小写为不同字符,且考虑字符串重点空格。 * 保证两串的长度都小于等于5000。 * 思路:所有字符总数为256,定义两个个256的数组,下标分别表示字符的ASCII值,对应数值表示出现次数, * 统计AB字符串后遍历两个数组比较对应位置数值是否相同即可。 * @param stringA原创 2017-09-26 23:22:30 · 2253 阅读 · 0 评论 -
反转句子
问题描述:给定一个句子(只包含字母和空格),将句子中的单词位置反转,单词用空格分割, 单词之间只有一个空格,前后没有空格。比如:(1)“hello xiao mi”-> “mi xiao hello”import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;public cl原创 2017-09-12 21:33:10 · 670 阅读 · 0 评论 -
反转链表
问题描述:输入一个链表,反转链表后,输出链表的所有元素。import java.util.ArrayList; import java.util.Stack;public class Solution { //方法1:使用ArrayList作中介 public static ListNode ReverseList(ListNode head) { ArrayList<原创 2017-09-12 21:48:17 · 206 阅读 · 0 评论 -
跳台阶问题
跳台阶问题描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路:对于第n个台阶来说,只能从n-1或者n-2的台阶跳上来,所以F(n) = F(n-1) + F(n-2),即斐波拉契数序列1、2、3、5……。原创 2017-08-02 15:49:22 · 384 阅读 · 0 评论 -
牛客几个有意思的小题
有些代码是自己写的,有些则是总结别人或者引用别人的,代码可能有些不足或者其他解法以及优化,欢迎指出,一起进步。 /** * 问题描述:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 * 思路:使用set,如果集合中存在该元素则删除,否则加入,最后元素只会剩下只出现一次的元素,得到结果。 */ public void Fi原创 2017-09-26 00:03:34 · 427 阅读 · 1 评论