- 博客(31)
- 资源 (1)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 剑指offer:第28题字符串全排列
public class _Test_28_1 { public static void main(String[] args) { char [] buf ={'a','b','c'}; perm(buf, 0, buf.length - 1); } public static void perm(char[] buf,int start,i
2017-08-08 15:47:46
402
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 剑指offer:第32题从1到n整数中1出现的次数
编程之美上的思路: public class _Test_32 { public long countOne(long n) { long count = 0; long i = 1; long current = 0, after = 0, before = 0; while ((n / i) != 0) {
2017-07-15 17:18:21
256
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 剑指offer:第31题连续子数组的最大和
public class _Test_31_1{ public int FindGreatestSumOfSubArray(int[] array) { int max = array[0],tempMax = array[0]; for(int i = 1, len = array.length; i < len; ++i) { tem
2017-07-15 17:13:18
302
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 剑指offer:第8题旋转数组的最小数字
public class _Test_08 { public static void main(String[] args) { int[] array = {1,2,0,1,1}; System.out.println(findMinNum(array)); } private static Integer findMinNum(int[] a
2017-07-11 17:31:17
220
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 剑指offer:第6题重建二叉树
public class _Test_6 { public static TreeNode reConstructBinaryTree(int [] pre,int [] in) { TreeNode root=reConstructBinaryTree(pre,0,pre.length-1,in,0,in.length-1); return root;
2017-06-19 19:35:21
330
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 剑指offer:第44题扑克牌的顺子
import java.util.Arrays;public class _Test_44{ public static void main(String[] args) { int[] numbers = {1,3,6,4,5}; _Test_44 c = new _Test_44(); boolean f = c.isCountious(n
2017-06-15 14:55:33
242
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 剑指offer:第49题字符串转化成整型(题目要求:不要用转换函数)
思路:拆分在合并,有非数字符号的return 0; public class _Test49 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String string = scanner.nextLine(); Syste
2017-06-08 17:20:37
294
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 剑指offer:第42题反转单词顺序VS左旋转字符串
常规思路:就是按照普通字符串拆分-添加完成的…… public class Solution { public String ReverseSentence(String str) { if(str == null){ return null;} if(str.trim().equals("")){ return str;
2017-06-08 16:15:44
257
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 剑指offer:第29题寻找数组中出现次数超过一半的数字
常规思路:对数组进行排序,之后找出中位数,判断个数是不是超过数组的一半。 import java.util.Arrays;public class _Test_29 { public static void main(String[] args) { int [] array ={1,2,3,2,2,2,5,4,2}; System.out.println(g
2017-06-07 17:39:12
272
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 剑指offer:第25题二叉树和为某一值得路径
//思路:可以利用全路径逐层递减,在用递归来寻找路径 import java.util.ArrayList; import java.util.List;public class _Test_25_2 { ArrayList<ArrayList<Integer>> arrayListall = new ArrayList<ArrayList<Integer>>(); ArrayLis
2017-06-06 22:34:02
190
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 剑指offer:第24题二叉树搜索树的后序遍历序列
//输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结 //果。是返回true,否则返回false //思路:就是利用递归思想,先找到根节点,然后在拆分左右、递归。 public class _24_Test { public static void main(String[] args) { int[] array={1,5,2,4,3}; _24_
2017-06-05 15:26:00
252
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 剑指offer:第23题从上往下打印二叉树-广度遍历
思路:可以利用队列的先进先出特点来实现 import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue;public class _23_Node { public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { Ar
2017-06-04 10:43:01
243
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 剑指offer:第22题栈的压入、弹出顺序
思路:就是借用一个辅助的栈,遍历压栈顺序,将第一个放入栈中,这里是1.然后判断栈顶元素是不是出栈的第一个元素,这里是4,很显然不相等,所以我们继续压栈,知道相等以后开始出栈,出栈的一个元素,则将出栈顺序向后移动一位,直到不相等,这样循环等压栈顺序遍历完成,如果辅助栈还不为空,说明弹出序列不是该栈的弹出顺序。 举例: 入栈1,2,3,4,5 出栈4,5,3,2,1 首先1入辅助栈,此
2017-06-04 10:32:02
397
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 剑指offer:第20题顺时针打印矩阵;
//常规思路:就是觉得顺时针去打印比较简单。 package cn.it.test; import java.util.ArrayList; public class _21_1test1 { public ArrayList<Integer> printMatrix (int [][] matrix){ if (matrix == null) { r
2017-06-03 13:04:33
364
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 剑指offer:第46题计算1+2+3+……+n;
思路一:采用右移运算符: import java.util.Scanner; public class n_add { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int s = scanner.nextInt(); Sys
2017-05-26 11:27:20
252
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 剑指offer:第17题合并链表
//递归思路:public class Merge1_1 { public ListNode merge(ListNode list1, ListNode list2) { if (list1 == null) { return list2; } if (list2 == null) { retu
2017-05-22 16:32:33
265
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 剑指offer:第14题输入一组数,奇数前偶数后
/*输入一个整数数组,实现一个函数来调整该数组中数字的顺序, * 使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分, * 并保证奇数和奇数,偶数和偶数之间的相对位置不变。 */
2017-05-18 12:26:20
428
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 剑指offer:第10题求二进制1的个数
public static int CountOne(int sr) { int count = 0; char [] c =Integer.toBinaryString(sr).toCharArray(); for (int i = 0; i < c.length; i++) { if(c[i]=='1'){
2017-05-17 19:37:27
223
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 剑指offer:第5题从尾到头打印链表
1、题目:输入一个链表的头节点,从尾到头反过来打印出每个节点的值。 思路1:如果是从本质上把链表中的指针节点反过来,改变指针方向,那么输出很简单,但是一般面试官不会让你这么做的。于是我们就不得不借助其他的数据结构,例如:栈,利用它的“先进后出”的特点。遍历的时候,放入栈中。输出的时候,在从栈顶逐个输出节点的值。
2017-05-12 15:22:10
284
原创 求出一有序数组中有两个数字之和等于某一常数的所有组合数。
public class Test_1 { public static void main(String[] args) { int a_sort[] = {1,30,50,55,70,80,99}; System.out.println(getNumber(a_sort)); } public static int getNumber...
2018-09-03 11:05:01
774
1
转载 IDEA快捷键列表
Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择Ctrl+N,可以快速打开类Ctrl+Shift...
2018-07-07 09:25:11
180
转载 java 常用集合list与Set、Map区别及适用场景总结
转载请备注出自于:http://blog.csdn.net/qq_22118507/article/details/51576319 list与Set、Map区别及适用场景 1、List,Set都是继承自Collection接口,Map则不是2、List特点:元素有放入顺序,元素可重复 ,Set特点:元素无放入顺序,元素不可重复,重复元素会覆盖掉,(注意:元
2017-06-06 12:41:51
258
原创 Eclipse 在编辑窗口切换页面快捷键
在Eclipse的编辑窗口中打开了多个java文件,但是每次切换都用鼠标点一下觉得太麻烦了,那就用快捷键。 1、编辑页面编辑页之间切换的快捷键 Ctrl + Shift + F6 (轻松实现了切换)2、java窗口和deBug调试窗口切换快捷键 Ctrl + Shift + F83、查看快捷键列表的快捷键 Ctrl + Shift + L
2017-06-05 12:04:28
27914
1
原创 Java框架集合:Collection<E>、Iterable<T>和Iterator<E>接口
Collection:Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。 Iterable:实现这个接口允许对象成为 “foreach” 语句的目标。 Iterable:迭代器取代了 Java Collections Framewor
2017-06-04 16:50:39
663
原创 对N个长度最长可达到1000的数进行排序。
package cn.itcast.uns;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Scanner; public class CompareNNumber { public static void main(St
2017-05-19 22:29:43
888
原创 抽象类和接口:
抽象类:普通类就是一个完善的功能类,可以直接产生对象并且可以使用,里面的方法都是带有方法体的,而抽象类之中最大的特点是包含了抽象方法,而抽象方法是只声明而未实现(没有方法体)的方法,而抽象方法定义的时候要使用abstract关键字完成,而抽象方法一定要在抽象类之中,抽象类要使用abstract关键字声明。 抽象类的使用原则: •抽象类必须有子类,使用extends继承,一个子类只能继承一
2017-05-17 10:15:16
250
原创 继承的那些事:
为什么会有继承: 作为面向对象的第二大特性,继承其实简单的说就是为了扩充一个类中已有的功能,关键字就是extends.如果具体的说:就应该是子类为了将父类定义的更加的具体化的一种方式。 继承的限制: 1、Java中的继承只有多层继承,而没有多重继承。 2、一个子类对于父类的非私有的操作都可以直接利用对象操作,而对于私有操作的需要间接的去完成。
2017-05-16 11:57:04
211
原创 HTTP的请求头和响应头相关字段
请求头: Accept:用于告诉服务器。客户端支持的数据结构。 Accept-Charset:用于告诉服务器。客户端采用的编码。 Accept-Encoding:用于告诉服务器。客户端支持的数据压缩方式。 Accept-Language:用于告诉服务器。客户端支持的语言环境。 Most:客户端通过这个报文头告诉服务器,客户端想访问的主机名。 If-Modified-Since:客户机通过
2017-05-14 13:14:08
700
原创 static关键字:
好多人用了好多次static,却不知道static的作用。今天就说一下static这个关键字。 1、static关键字用于定义属性。如果我们想要和普通的属性区分,并且表示公共的概念,那么我们应该使用static关键字。static属性最好通过“类名称.static属性”的方式来完成。而且,static属性虽然定义在类之中,但是其可以在没有实例化对象的时候就进行调用(因为普通属性保存在堆内存中,st
2017-05-13 12:43:58
291
原创 i++/++i/a=a+b/a+=b
public class Test1 { public static void main(String[] args) { int i = 1; System.out.println(++i);// 2 System.out.println(i);// 2 int j = 1; System.o
2017-05-13 11:13:38
493
原创 新手速学git——简单的上传代码文件
1、git对于程序员是很重要的,需要把代码同步到github上,和大家共同分享代码,并且把自己有更好的思路给大家一起分享。 介绍: 首先介绍下Git,这是一款免费、开源的分布式版本控制系统,可以高效的处理大的或者是小的项目代码。这时有人就要问了这个和那个GitHub的关系了。那我就举个例子说明一下,git和GitHub的关系就像磁铁和磁场的关系。而GitHub作为一个平台网站,建立在gi
2017-05-12 23:38:07
408
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人