
java
severusyue
这个作者很懒,什么都没留下…
展开
-
java中判断二维数组是否为空
二维数组为空,要检查三个部分:一是数组首地址是否为空二是是否为{},也就是array.length==0的情况三是{{}},这时array.length=1,但是array[0].length==0。满足任意一个条件就可以返回false了。if(array==null||(array!=null&&array.length==0)||(array!=null&&array.leng原创 2016-06-16 21:56:57 · 12495 阅读 · 2 评论 -
逆序对的个数
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。这道题可以用归并排序做,算法复杂度o(nlogn)public class Solution { int cnt = 0; //记录逆序对个数 public int InversePair原创 2016-08-15 22:06:56 · 406 阅读 · 0 评论 -
Java多线程
1、线程的五种状态:1、新建 new Thread()2、就绪 thread.start()3、运行 从就绪态获取CPU4、阻塞 处于运行状态中的线程由于某种原因(wait(),sleep(),join(),I/O),暂时放弃对CPU的使用权,停止执行,此时进入阻塞状态,直到其进入到就绪状态,才 有机会再次被CPU调用以进入到运行状态。分为 等待阻塞(wait()),同原创 2016-08-04 11:59:49 · 355 阅读 · 0 评论 -
Java的全排列
刷剑指Offer碰到的全排列题目,就研究了一下全排算法。1、遍历原字符串str,分别以每个字符为头进行遍历2、将字符拼接到原StringBuffer上,在str上去除该字符,如果去除后subStr长度为1,那么直接拼接该subStr并返回3、遍历sbuStr,对其重复1,、2步骤,进行全排。注意两点:1、字符串的操作,因为涉及到大量String的修改,所以使用S原创 2016-07-21 17:11:52 · 677 阅读 · 0 评论 -
整数中1出现的次数(从1到n整数中1出现的次数)
在网上看到大神的四行解法https://discuss.leetcode.com/topic/18054/4-lines-o-log-n-c-java-python英文看着不习惯,仔细研究了下,举个例子:如果n为3141592对于 m=1,表示个位, 个位为1出现的可能为0~314159 + 1(此处+表示连接,不是数学意义上的加号)的情况, 次数为(314159+1)对于 m=10,原创 2016-08-05 16:54:48 · 526 阅读 · 0 评论 -
数组的全排列
思路是:将所有字母排在第一位,确定第一位后,将后续所有字母排在第二位,依次类推。注意对数组的操作需要复原,在排列后要还原数组下面输入int型数组,输出其排列组合出的最小整数import java.util.ArrayList;import java.lang.StringBuffer;public class Solution { ArrayList ar原创 2016-08-08 15:58:10 · 346 阅读 · 0 评论