![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM-数组
liuyu1942
这个作者很懒,什么都没留下…
展开
-
leetcode Maximum Subarray
题目:https://oj.leetcode.com/problems/maximum-subarray/ 题意:找出和最大的最小子串 思路:子串是说连续的一个substring,而子序列则可以是不连续的,但是顺序要对 1.用sum记目前暂时能得到的和,如果发现再加A[i]之前sum就小于0了,那么肯定对于后面要取最大和没有一点帮助了,就不要了,直接把sum置0,然后不管有没有用,用sum加原创 2015-02-22 15:28:29 · 314 阅读 · 0 评论 -
leetcode Rotate Image
题目:https://oj.leetcode.com/problems/rotate-image/ 题意:顺时针旋转一个2维数组 思路:1.找规律 tmp = matrix[i][j]; matrix[i][j] = matrix[n-j-1][i]; matrix[n-1-j][i] = matrix[n-1-i][n-原创 2015-02-20 23:25:26 · 314 阅读 · 0 评论 -
leetcode Next Permutation
题目:next permutation 题意:找到一个数组的下一种排列,eg: 12345->12354 54321->12345 1324->1342 思路:找了半天规律还错了。。。看了别人的结题报告,感觉碉堡了 1.从后向前找到第一个升序排列的地方,比如12345的4处,1324的2处,设为第i个位置,如果找到头都没找到,那么就整个全倒置相当于54321->12345的情况原创 2015-02-12 15:09:52 · 334 阅读 · 0 评论 -
leetcode First Missing Positive
题目:https://oj.leetcode.com/problems/first-missing-positive/ 思路:完全没有思路,题都没看懂,看了别人的解题报告,大概是这个意思 1.先把整个数组进行各种调换,最后从前往后缕,第一不等于i+1的就是缺的整数 2.怎么调换:首先排除,n的数,全部跳过,因为他们不可能有属于自己的位置!什么叫属于自己的位置,比如数字3,属于他的位置就是A[原创 2015-02-14 16:20:26 · 349 阅读 · 0 评论 -
leetcode Sudoku Solver
题目:https://oj.leetcode.com/problems/sudoku-solver/ 题意:不用说了,解数独 思路:进行回溯,每一个格子从'1',试到'9',每次试,都判断一下格子会不会出问题,用dfs,一个格子一个格子的往下走,实在走不动了,回来把刚才变化的board改回原来的'.'也就是回溯的宗旨,不行就回头,别忘了动过啥给人家放回原处,其实在判断填上这个c之后整个数组的可原创 2015-02-13 16:51:54 · 418 阅读 · 0 评论 -
leetcode Permutations
题目:https://oj.leetcode.com/problems/permutations/ 题意:求一个数组的各种排列方法 思路:回溯,这题A的我莫名其妙,本来打算考虑一下有没有重复的可能,但是貌似这题不用考虑还是怎么回事的,直接就A了 代码: class Solution { public: vector > result; void swap(int &原创 2015-02-15 14:19:47 · 378 阅读 · 0 评论 -
leetcide Valid Sudoku
题目:https://oj.leetcode.com/problems/valid-sudoku/ 题意:判断一个数独是否是正确的,这也是后面解数独题的一个部分,如果是格子里是“.”直接跳到下一次循环 思路:3个判断+1个大的二维数组循环 将整个二维数组循环一遍,每一个格子做三个判断,行,列,小格子 用三个二维数组去记录这三个判断的结果,比如bool row[9][9];这个记录行的,比如原创 2015-02-13 14:55:12 · 422 阅读 · 0 评论 -
leetcode Plus One
题目:https://oj.leetcode.com/problems/plus-one/ 题意:一个用数组装着的大数,数组的每一个格子是一大数的每一位,问:加1之后,求返回的数组 思路:按照加法去做,注意最后有可能最高位进位会越界,要重新声明一个数组或者去改变原来的数组位置 据说这道题面试常用,因为可以扩展!!! class Solution { public: vect原创 2015-03-02 10:10:58 · 333 阅读 · 0 评论