码迷,mamicode.com
首页 >  
搜索关键字:leetcode 19    ( 34993个结果
leetcode第一刷_N-Queens
八皇后问题应该是回溯法的教学典范。在本科的时候,有一门课叫面向对象,最后的附录有这个问题的源代码,当时根本不懂编程,照抄下来,运行一下出了结果都很开心,哎。 皇后们的限制条件是不能同行同列,也不能同对角线。那么显然每一列上都要有一个皇后,只需要用一个一维数组记录皇后在每一行上的位置就可以了。算法的思想是:从第一行开始,尝试把皇后放到某一列上,可以用一个vis数组保存已经有皇后的列,当找到一个还没...
分类:其他好文   时间:2014-05-15 05:02:41    阅读次数:261
leetcode -day14 Populating Next Right Pointers in Each Node I II
1、 ?? Populating Next Right Pointers in Each Node Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next; } Populate...
分类:其他好文   时间:2014-05-15 04:57:36    阅读次数:221
LeetCode-001 Two Sum
LeetCode-001 Two Sum Given an array of integers, find two numbers such that they add up to a specific target number. The function twoSum should return indices of the two numbers such that they add up to the target, where index1 must be less than index2...
分类:其他好文   时间:2014-05-15 04:34:50    阅读次数:293
LeetCode--Same Tree
Same Tree  Total Accepted: 16072 Total Submissions: 38790My Submissions Given two binary trees, write a function to check if they are equal or not. Two binary trees are considered equal i...
分类:其他好文   时间:2014-05-15 04:00:39    阅读次数:319
leetcode第一刷_Pow(x, n)
快速乘方的算法,写了好多变,出了各种错,真是服了我自己了。 思想是每次对n减半,将当前的temp平方。需要注意的是如果当前的n是个奇数,减半之后会丢失掉一次乘积,因此如果当前的n为奇数,应该先在结果里面乘一个temp。 还有,n可能是负数,负数的次方最后要求一次倒数。 class Solution { public: double pow(double x, int n) { ...
分类:其他好文   时间:2014-05-15 03:29:34    阅读次数:252
leetcode第一刷_Rotate Image
这个题该怎么说呢,旋转又要求inplace,一般就是要找到某种规律了,这个还是很明显的,画一下原来的,再画一下旋转之后的,看看原来的跑到什么位置了。 牵扯到四个位置按顺时针方向互换一下位置,发现只要做三次交换就可以实现,好神奇。 最后需要注意调整到什么时候结束,如果n是偶数的话,到n/2就是最里层了,不需要继续旋转。奇数其实也是,正好少了最里面的那个只有一个数的层。 class Soluti...
分类:其他好文   时间:2014-05-15 03:28:56    阅读次数:209
LeetCode之Unique Binary Search Trees
Unique Binary Search Trees, Given n, how many structurally unique BST's (binary search trees) that store values 1...n?...
分类:其他好文   时间:2014-05-15 02:32:11    阅读次数:245
Leetcode 动态规划 Maximum Subarray
题意:最大连续子序列和,在一个数组中找到和最大的连续子数组 思路:dp, 对于第i个数,有两种选择:把它加入在子数组里,不加入子数组(子数组到此结束) 加不加入子数组,要比较它加入前后子数组的总和是变大了还是变小了,如果变大则加入,变小则不加入 所以,我们需要记录以i-1结尾的子数组的总和,最后的结果在这些总和中取最大的那个 f[i] = max(f[i-1]+a[i],f[i-1]); max({f[i]}) 实现时用两个变量,一个保存f[i-1],一个保存目前为止最大的f[i] 复杂度:时间O(n),空...
分类:其他好文   时间:2014-05-14 21:53:14    阅读次数:250
Leetcode 动态规划 Decode Ways
题意:将A-B编码为1-26,现在给一串数字,问有多少种解码方式 思路:动态规划 设f[i]表示以第i个字符结尾的数字串的解码方式,则 如果 s[i - 2]是1 或 s[i - 2]是2且s[i - 1]小于6,f[i] = f[i - 1] + f[i - 2] 否则,f[i] = f[i - 1] 此外,还要再加一些判断 如果s[i - 1]是零,则以s[i - 2]数字结尾的解码方式为零。因为s[i - 2]数字必须和s[i - 1]结合起来 实现的时候只要两个变量保存前两个的值,即f[i - 1...
分类:其他好文   时间:2014-05-14 21:48:05    阅读次数:261
leetcode第一刷_Anagrams
今天再看这个题时,死活想不起这个单词是什么意思,查了字典都不知道,真晕了。 这个单词直译是颠倒顺序所形成的单词,实际上就是从集合中找出所有是由一组字母形成的那些单词,这种可以由很多组,即只要这组字母形成的字典中的单词多于1个,就要把这些单词输出出来。 怎么做呢?思路还是很简单的,要找出是由一组字母形成的单词,显然应该知道每一个单词是由哪些字母形成的,这当然可以建一个hash表,每次都比对has...
分类:其他好文   时间:2014-05-14 15:12:04    阅读次数:296
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!