标签目录:leetode

以下是与标签 “leetode” 相关联的文章

[leetcode_73]Set Matrix Zeroes

给一个mn矩阵,将该矩阵中出现0元素的位置的行列均置为0。 最简单的方法,开一个mn的矩阵记录,再设置就行了。 更简单的是:开一个m+n的矩阵记录行列就可以了。 更更简单的常数空间的方法,我想了一种,有点问题,正在琢磨,先把m+n的解法贴出来吧。 一次AC。 附上代码: class Solution { public: void set……

[leetcode_62]Unique Paths

这个题因为原链接的图片挂了,不过根据题意,题意是:给一个m*n的矩阵,问有多少条路径可以从(0,0)点到(m-1,n-1)点。 走路的规则是 一步只能从当前点往右或者往下走。 宽度优先搜索。 附上代码: 一次AC。目测代码性能还是不够好。 struct PPoint { int x; int y; }; class Solution { public: bool C……

[leetcode_48]Rotate Image

将一个n*n的矩阵顺时针旋转90度,额外地,能不能原地旋转,就是不开辟额外的空间。 一次AC,每个位置上的旋转只会影响4个位置上的数组,开一个tmp,搞定。 附上代码: class Solution { public: void MoveStep(vector<vector<int>> &matrix,int i,int j,int n) { in……

[leetcode_137]Single Number II

给出n个数,里面每个数字重复3次,只有一个数字只出现一次,求该数字[线性时间和空间] 相信两个数的大家都会,异或就行。 其实最开始用mapA过,觉得不符合题意,看了别人的思路,知道了,其实就是题目的变形,感觉不会举一反三,而且对问题的分析能力不够。 异或的目的就是计数每个位置出现1的个数,如果有两次就清零。 ……

[leetcode_89]Gray Code

这个题,我很无奈,不能special judge。好吧开始写了一个代码 WA,人说 sorry 不能sp,于是按照样例改了改。 思想就是 0 1 在序列中的每个数前面[样例]或者后面加上(0,1),(1,0),(0,1),(1,0),(0,1),(1,0)……即可[每个数,生成两个新的数],这样保证了只改变一个位数,因为上一轮的数是按照跪着的。……

[leetcode_24]Swap Nodes in Pairs

这个题其实就是个模拟题,两两交换listnode的节点,基于node而非val。蛮简单的,但是我自己确实憋了好久,一次AC,但是感觉自己的代码写出来永远不美,复用性不高。逻辑不行。还得加油。 附上代码: /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * Lis……

[leetcode_75]Sort Colors

red white blue 三种颜色 分别用0 1 2代表 输入一个0 1 2 的数组,请排序。 但是不允许用封装好的库。 具体的方法是遍历该数组对012进行计数,然后对原数组覆盖即可。 附上代码: class Solution { public: void sortColors(int A[], int n) { // IMPORTANT: Please reset any member data you declared, as……