摘要: 正反两个字典,每次都正反检查一下 阅读全文
posted @ 2016-07-21 08:40 warmland 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 不解释了 阅读全文
posted @ 2016-07-21 08:29 warmland 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 1 public ListNode removeElements(ListNode head, int val) { 2 if(head == null) { 3 return null; 4 } 5 ListNode dummy = new ListNode(-1); 6 dummy.n... 阅读全文
posted @ 2016-07-21 08:06 warmland 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 写一个digitSum的辅助函数,设一个曾经出现过的set,如果digit sum之后的数是曾经出现过的,就说明会出现循环,不会变成1,退出,返回false,否则循环 辅助函数和今天的reverse Integer一种操作方法,最后一位数字是n % 10, n更新为n/10,退出条件是n != 0 阅读全文
posted @ 2016-07-21 08:00 warmland 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 我竟然自己一下就写对了!!!!!! 我的想法是,设置一个visited[][]记录有没有访问过这个点,然后从所有没有访问过&&是1的点出发,标记相邻的1,然后调用几次填色函数,就是有几个岛 填色的函数的内容就是,首先是把当前点标记为1,然后是对于上下左右的点,如果没有超过格子边缘&&也是1的话,就递 阅读全文
posted @ 2016-07-21 07:47 warmland 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 哈哈自己一遍写好~开心! 就是一位一位数,最后一位的取法是 num & 1,如果是1就计数,然后去掉最后一位 n >> 1没啦~ 阅读全文
posted @ 2016-07-21 06:48 warmland 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 第一种是普通的方法,但是注意不能溢出,因为不断乘以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) 编辑