上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 23 下一页
摘要: 第一种是普通的方法,但是注意不能溢出,因为不断乘以4之后,有可能超过Integer.MAX_VALUE 第二种是位操作。 1.如何判断是不是2的幂。 (num & (num - 1)) == 0 因为2的幂是10,100,1000,...也就是说,是一个以1开头,并且跟着一串0的数,如果减一取且,应 阅读全文
posted @ 2016-07-21 06:37 warmland 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 知识点 1. java中int和binary之间互相转换的自带函数 2. int的最大值是231-1,用二进制表示就是有31个1,int有32位,第一位是表示符号,java中没有unsigned int,如果有的话是32位 这题用string的方法做是: 不用考虑溢出的情况,因为unsigned i 阅读全文
posted @ 2016-07-21 05:01 warmland 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 建一个set, 是曾经遇到过的长度为10的string,然后对这个sample string从头到尾走一遍,如果曾经看到,那么就加到repeated set里,最后返回由repeated string组成的arrayList<String>里面。 之所以repeated也需要一个自己的set,因为有 阅读全文
posted @ 2016-07-21 03:12 warmland 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 原理minMax,最小化最大损失 从第i天到j天中,如果猜x的损失为x + Math.max(DP[i][x-1], DP[x+1][j]) 那么i~j天中最小的最大损失是Math.min(猜x的损失) 阅读全文
posted @ 2016-07-21 02:31 warmland 阅读(122) 评论(0) 推荐(0) 编辑
摘要: binary search. 开始偷懒了一下mid没有写成这样:mid = l + (r - l) / 2,于是卡了很久,简直报应= = 阅读全文
posted @ 2016-07-20 07:29 warmland 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 和rotate array是一个方法,把整个转过来,然后每个词单独转过来 阅读全文
posted @ 2016-07-10 06:37 warmland 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 方法一/二: 注意的是k有可能是invalid,要对数组的长度取余 1. 新建一个同长度的数组,把nums前n-k个元素拷到newArr中的后n-k个里 2.把nums后k个元素拷到newArr中的前k个中 3.把newArr整个全部拷贝回nums 使用System.copyarray(source 阅读全文
posted @ 2016-07-10 05:57 warmland 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 1. array copy System.arraycopy(source, sourcePos, des, desPos, len); time complexity: O(len) 2. 阅读全文
posted @ 2016-07-10 05:33 warmland 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 转成String,然后按照一定的规律排序,最后再连起来,如果给的值里全是0(一个或多个),那就返回“0”,否则返回连起来的结果。 排序的规则: 如果一位一位比较,如果某个数在前面的数字比较大,那么这个数就放前面。 如果两个数不一样长,并且前面的数字都相同,那么就那短的那个,和长的那个后面多出来的半截 阅读全文
posted @ 2016-07-09 07:23 warmland 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 建一个stack,最末的元素始终是最小的那个。 所以对于初始化,存到最左下角的那个节点。 对于找到next,就是存到,当前节点的右子节点的最左下角(如果有的话)。 阅读全文
posted @ 2016-07-08 05:13 warmland 阅读(153) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 23 下一页