这道题简直是耻辱啊,居然被吓得不敢做,终于开始写还犯下了各种低级错误,花了好久的时间。
其实如果想明白81*9其实是很小的规模的话,早就想到用回溯法了,这不是跟八皇后完全一样的嘛。每次填入的时候,验证一下合不合理,其中合不合理在上一个问题中已经讨论过了,对当前位置讨论更简单。
所的头头是道,你会问“那你是错在哪呢?”你猜啊。我在判断一个小方格时候合理时,走了很多弯路。一开始想的是用循环和减法,...
分类:
其他好文 时间:
2014-05-15 14:37:04
阅读次数:
203
题意:在一个二维矩阵中找到给定的值。矩阵从上到下从左到右有序
思路:二维空间的二分查找
先在一维里找中间位置,再将该位置转为二维空间里的下标
注:下标比较难弄,得注意点
复杂度: 时间O(log n),空间O(1)
相关题目:
Search Insert Position...
分类:
其他好文 时间:
2014-05-15 07:24:42
阅读次数:
253
题意:从一个已排序的数组中移除掉重复的元素
思路:用下标i扫描旧数组,用下标j来保存新数组的尾部
如果旧数组的当前元素与新数组的最后一个元素相同,则继续扫描旧数组
如果不同,新数组的下标前移一们,将旧数组的当前元素赋给新数组,继续扫描旧数组
相关题目:
Remove Element
Remove Duplicates from Sorted List
Remove Duplicates from Sorted List II...
分类:
其他好文 时间:
2014-05-15 06:57:53
阅读次数:
249
题意:去掉已排序的链表里重复的元素
思路:
1.遍历链表,用一个变量保存当前链表节点的值
2.如果当前链表节点值与前面的一样,则删除当前链表节点
3.否则用当前节点值更新该变量
复杂度:时间O(n), 空间O(1)...
分类:
其他好文 时间:
2014-05-15 06:46:24
阅读次数:
218
5道题目分别是:【Interleaving String】、【Validate Binary Search Tree】、【Sqrt(x) 】、【Recover Binary Search Tree 】、【Climbing Stairs 】,由于有一些题目不需要发一整篇博文来记录,所以就将这些题目以一篇博文5道来记录。...
分类:
其他好文 时间:
2014-05-15 06:30:55
阅读次数:
301
【题目】
The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fixed font for better legibility)
P A H N
A P L S I I G
Y I R
And then read line by line: "PAHNAPLSI...
分类:
其他好文 时间:
2014-05-15 04:30:57
阅读次数:
313
题目
Given a non-negative number represented as an array of digits, plus one to the number.
The digits are stored such that the most significant digit is at the head of the list.
解答
本题考察进位问题,注...
分类:
其他好文 时间:
2014-05-15 04:16:56
阅读次数:
245
一开始没看清题,以为让当场求数独呢,吓得一直没敢做。后来发现这个题原来如此之简单,只要判断现在棋盘上的数字满不满足情况要求就可以了。
这不就是三次循环吗。。看看每一行满不满足,每一列满不满足,每个小的3*3的格子满不满足就行了。每个小3*3格子我是用求得左上角的方法来验证的。
其实觉得数独难还有一个原因是记得他在编程之美上出现过。。那上面讨论的主要是怎样构造一个数独,具体记不太清楚了,印象最深...
分类:
其他好文 时间:
2014-05-15 03:19:11
阅读次数:
185
在 O(nlogn)的时间内对一个链表进行排序。。明显是要用归并或者快排
第一次知道说原来归并也可以用链表来写,被刷了下三观。。。。。用快慢指针的方法找分界点。
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNod...
分类:
其他好文 时间:
2014-05-14 15:03:49
阅读次数:
230
这道题最开始采用recursive的方法,结果犯了TLE(time limit
exceeded)的错误,事实证明recursive的时间代价还是太高,所以改用DP的方法,把曾经算出来的结果存起来,我用的是一个M*N的matrix来存储 1
public class Solution { 2 ...
分类:
其他好文 时间:
2014-05-14 10:57:31
阅读次数:
245