摘要: 提示给的太直白了。。 比如player 1占据了(0,1),那么row[0]++ col[1]++ 表示第一行有1个O,第一列有1个X,假设PLAYER 1最终在第一行连成一排,那最终row[0] == n。 player 2占据了(0,2),那么 row[0] col[2] 如果PLAYER最终在 阅读全文
posted @ 2016-10-12 12:22 哇呀呀..生气啦~ 阅读(204) 评论(0) 推荐(0)
摘要: nlgn就不说了。。说n的方法。 这个题做了好久。 一开始想到的是post order traversal. 左右都是BST,然后自己也是BST,返还长度是左+右+自己(1)。 左右其中一个不是,或者自己不是的话,返还 1. 第一次尝试忽略了跳级问题,判断自己能不能和左右子树组成BST的情况是,自己 阅读全文
posted @ 2016-10-12 07:49 哇呀呀..生气啦~ 阅读(246) 评论(0) 推荐(0)
摘要: abc de先整个翻转: ed cba再逐个单词翻转: de abc就是要求的结果。 Java public class Solution { public void reverseWords(char[] s) { if(s.length 阅读全文
posted @ 2016-10-12 04:12 哇呀呀..生气啦~ 阅读(124) 评论(0) 推荐(0)
摘要: 首先找到X方向的中点,如果中点是一个点,那么分别从这个点开始往左右找就行;如果是一个区间,比如1 2之间,那么首先总点数得是偶数,然后以1和2往左右两边找就行。。 找的时候,有3种情况: 同时没找到,继续; 一个找到,一个没找到,FALSE; 同时找到,左边找到的每个点,必须对应一个右边找到的每个点 阅读全文
posted @ 2016-10-12 03:59 哇呀呀..生气啦~ 阅读(252) 评论(0) 推荐(0)
摘要: 题里没说get的时候应该随机选取还是,选取least available number,题里似乎是后者,就按后者做。 用SET来判断是否被占用,STACK保存可用的号码,好像就是这样,用QUEUE也试了一下,比STACK慢,不知道为什么,估计跟具体的CASE有关吧。。 Java public cla 阅读全文
posted @ 2016-10-12 02:46 哇呀呀..生气啦~ 阅读(161) 评论(0) 推荐(0)
摘要: 二刷。。 二刷有印象,所以一下做出来了,不过还是忽略了MIN_VALUE的问题。。。 还是divide and conquer Java public class Solution { public double myPow(double x, int n) { if(n == 0) return 阅读全文
posted @ 2016-10-12 02:19 哇呀呀..生气啦~ 阅读(107) 评论(0) 推荐(0)