方法一 利用set 空间$O(n)$ 时间 \(O(n)\) 利用一个set存储映射关系, 然后直接从1 - size遍历找出第一个不在set中的元素就可以 int firstMissingPositive(vector<int>& nums) { set<int> s; for (int i = ...
分类:
其他好文 时间:
2020-06-27 19:48:19
阅读次数:
55
问题: 数组快照问题: 1. 初始化长度为length的数组:SnapshotArray 2. 向数组第x位插入数字val:set(int index, int val) 3. 对当前状态对数组做快照(返回值位当前快照id):snap() 4. 获取快照id为snap_id时,数组第index位上的 ...
分类:
其他好文 时间:
2020-06-27 13:21:31
阅读次数:
52
指数型枚举: 无个数限制 题目描述: 从 1~n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。 朴素dfs枚举 int n; vector<int> ans; void calc(int x) { if(x == n + 1) { for(auto c: ans) printf("%d ...
分类:
其他好文 时间:
2020-06-27 13:18:24
阅读次数:
49
Description 题目大意: $f(x)$为十进制下x每一位上的数字的和。求满足$f(x)+f(x+1)+...+f(x+k)=n$的最小x。 思路 由于k特别小(<=9),故x+k至多发生一次进位。x每加1,必有某一位加上1。如果发生进位,那么$f(x)$只要额外减去若干个9(进位发生后9变 ...
分类:
其他好文 时间:
2020-06-26 23:57:16
阅读次数:
130
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。 示例 1: 输入: "()"输出: true示例 2: 输入: "()[]{}"输出: ...
分类:
其他好文 时间:
2020-06-26 22:36:03
阅读次数:
65
378. 有序矩阵中第K小的元素 第一种方法:将二维矩阵中的数存起来,然后排序输出第k个,耗时较多 class Solution { public: int kthSmallest(vector<vector<int>>& matrix, int k) { vector<int>v; for(int ...
分类:
编程语言 时间:
2020-06-26 22:25:37
阅读次数:
63
reference: http://crasseux.com/books/ctutorial/argc-and-argv.html argc stands for argument counts. the "v" of argv[] stands for vector, and argv stand ...
分类:
其他好文 时间:
2020-06-26 20:16:17
阅读次数:
44
1299. 将每个元素替换为右侧最大元素 直接从后往前更新最大值存入数组中,然后逆置数组,删去最前的,在随扈补一个-1即可。 class Solution { public: vector<int> replaceElements(vector<int>& arr) { vector<int>v; ...
分类:
其他好文 时间:
2020-06-26 18:16:47
阅读次数:
56
链接:https://leetcode-cn.com/problems/valid-sudoku/ 代码 class Solution { public: bool isValidSudoku(vector<vector<char>>& board) { bool st[9]; // 行 for ( ...
分类:
其他好文 时间:
2020-06-26 16:31:32
阅读次数:
56
题目传送门 分析: 费用流,然而不会优化,在线膜拜大佬的博客OrzOrzOrz #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> #include<vector> #include<queue> #defin ...
分类:
其他好文 时间:
2020-06-26 16:28:00
阅读次数:
54