随笔分类 -  牛客网

摘要:/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } }*///操作给定的二叉树,将其变换为源 阅读全文
posted @ 2018-06-29 21:34 Syiren 阅读(85) 评论(0) 推荐(0)
摘要://输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。//例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。import java.util.ArrayList;import java.util.Comparator;imp 阅读全文
posted @ 2018-06-28 23:01 Syiren 阅读(109) 评论(0) 推荐(0)
摘要:/*&输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。*/import java.util.*;public class Solution { public ArrayLis 阅读全文
posted @ 2018-06-26 19:36 Syiren 阅读(130) 评论(0) 推荐(0)
摘要:插入排序: 基本操作就是讲一个数据插入到已经排好序的有序数据中,从而得到一个新的有序数据,把排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素插入到已排好 阅读全文
posted @ 2018-06-26 19:34 Syiren 阅读(157) 评论(0) 推荐(0)
摘要:1、区别 1) 二叉树的深度优先遍历的非递归的通用做法是采用栈,广度优先遍历的非递归的通用做法是采用队列。 2) 深度优先遍历:对每一个可能的分支路径深入到不能再深入为止,而且每个结点只能访问一次。要特别注意的是,二叉树的深度优先遍历比较特殊,可以细分为先序遍历、中序遍历、后序遍历。具体说明如下: 阅读全文
posted @ 2018-06-26 19:34 Syiren 阅读(672) 评论(0) 推荐(0)
摘要://牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。//例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a s 阅读全文
posted @ 2018-06-26 19:33 Syiren 阅读(175) 评论(0) 推荐(0)
摘要:输入一个链表,从尾到头打印链表每个节点的值。 /** ArrayList<Integer>* public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }** 阅读全文
posted @ 2018-06-26 19:22 Syiren 阅读(115) 评论(0) 推荐(0)
摘要:输入 4 EIGHT ZEROTWOONE OHWETENRTEO OHEWTIEGTHENRTEO 输入 4 EIGHT ZEROTWOONE OHWETENRTEO OHEWTIEGTHENRTEO 输出 0 234 345 0345 输出 0 234 345 0345 数字减8的操作很容易实现 阅读全文
posted @ 2018-06-26 19:21 Syiren 阅读(1151) 评论(0) 推荐(0)
摘要://HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为//正数的时候,问题很好解决。但是,,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向 阅读全文
posted @ 2018-06-24 21:51 Syiren 阅读(154) 评论(0) 推荐(0)
摘要:/*地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请 阅读全文
posted @ 2018-06-24 16:03 Syiren 阅读(130) 评论(0) 推荐(0)
摘要:题目描述 There are N children standing in a line. Each child is assigned a rating value. You are giving candies to these children subjected to the followi 阅读全文
posted @ 2018-05-02 21:52 Syiren 阅读(303) 评论(0) 推荐(0)
摘要:import java.util.Scanner;public class Main{ public static void main(String args[]){ Scanner scanner=new Scanner(System.in); String s=scanner.nextLine( 阅读全文
posted @ 2018-04-11 20:50 Syiren 阅读(2340) 评论(0) 推荐(0)
摘要:import java.util.*;public class main{ public static void main(String[] args) { int[] a = new int[]{12,23,1,3,7,2}; Arrays.sort(a); System.out.println( 阅读全文
posted @ 2018-04-02 21:19 Syiren 阅读(983) 评论(0) 推荐(0)
摘要:System.in是输入的意思。Scanner s = new Scanner(System.in);是新建一个扫描器,扫描你输入的内容。s.nextInt()是扫描到的你输入的int类型的值。int x是将扫描到的你输入的int类型的值赋到x上。 18位身份证的编码规则是: 前1、2位数字表示:所 阅读全文
posted @ 2018-04-01 16:40 Syiren 阅读(683) 评论(0) 推荐(0)
摘要:public class Solution { public int NumberOf1(int n) { int count=0; String str=Integer.toBinaryString(n); for(int x=0;x<str.length();x++) { if(str.char 阅读全文
posted @ 2018-03-31 17:37 Syiren 阅读(254) 评论(0) 推荐(0)
摘要:类似于青蛙跳台阶,当n=1时,只有一种横向排列的方式。当n等于二时,2*2有两种选择,横向或者是竖向。当n等于3的时候对于2*3来说,如果选择的是竖向排列,则剩下的就是2*2排列,如果选择的是横向,则对于2*n剩下的则只有1*n的一种选择。所以依次类推,找到迭代RectCover(target-1) 阅读全文
posted @ 2018-03-31 17:22 Syiren 阅读(838) 评论(0) 推荐(0)
摘要:斐波那契数列指的是这样一个数列: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368。 可以观察到,从第3个数开始,每个数的值都等于前连个数 阅读全文
posted @ 2018-03-31 16:39 Syiren 阅读(6122) 评论(0) 推荐(0)
摘要:replace两种用法:replace(int start,int end, String str) replace(char oldchar, char newchar) public class Solution { public String replaceSpace(StringBuffer 阅读全文
posted @ 2018-03-31 11:06 Syiren 阅读(918) 评论(0) 推荐(0)