- 博客(10)
- 收藏
- 关注
原创 435. 无重叠区间
class Solution { public: int eraseOverlapIntervals(vector<vector<int>>& intervals) { if (intervals.empty()) { return 0; } sort(intervals.begin(), intervals.end(), [](const auto& u, con...
2020-12-31 22:15:03 131
原创 1046. 最后一块石头的重量
class Solution { public: int lastStoneWeight(vector<int>& stones) { priority_queue<int> q; for (int s: stones) { q.push(s); } while (q.size() > 1) { int a = q.top(); ...
2020-12-30 23:47:34 95
原创 387. 字符串中的第一个唯一字符
class Solution { public: int firstUniqChar(string s) { unordered_map<int, int> frequency; for (char ch: s) { ++frequency[ch]; } for (int i = 0; i < s.size(); ++i) { if (frequency[s[i]]...
2020-12-23 15:26:08 142
原创 48. 旋转图像
使用辅助数组 那么对于矩阵中第 i 行的第 j个元素,在旋转后,它出现在倒数第 i 列的第 j 个位置。 那么就有 matrix_new[j][n - i - 1] = matrix[i][j]; class Solution { public: void rotate(vector<vector<int>>& matrix) { int n = matrix.size(); // 会得到一个新的数组 auto..
2020-12-19 23:01:48 78 2
原创 738. 单调递增的数字
class Solution { public: int monotoneIncreasingDigits(int N) { string strNum = to_string(N); // flag用来标记赋值9从哪里开始 int flag = strNum.size(); for (int i = strNum.size() - 1; i > 0; i--) { if...
2020-12-15 14:10:01 65
原创 217. 存在重复元素
class Solution { public: bool containsDuplicate(vector<int>& nums) { unordered_map<int, int> map; for(int n : nums) { map[n] ++; if(map[n] > 1) return true; } return false; ...
2020-12-13 10:54:34 46
原创 62. 不同路径
我们令 dp[i][j] 是到达 i, j 最多路径 动态方程:dp[i][j] = dp[i-1][j] + dp[i][j-1] 注意,对于第一行 dp[0][j],或者第一列 dp[i][0],由于都是在边界,所以只能为 1 时间复杂度:O(m*n)O(m∗n) 空间复杂度:O(m * n)O(m∗n) 优化:因为我们每次只需要 dp[i-1][j],dp[i][j-1] class Solution { public: int uniquePaths(int m, int ..
2020-12-09 22:31:07 59
原创 118. 杨辉三角
class Solution { public: vector<vector<int>> generate(int numRows) { vector<vector<int>> ret(numRows); for (int i = 0; i < numRows; ++i) { ret[i].resize(i + 1); ret[i][0] = ...
2020-12-06 16:42:16 249
原创 1:赋值运算符函数
如下为类型CMyString的声明,请为该类型添加赋值运算符函数。 class CMyString { public: CMyString(char* pData = nullptr); CMyString(const CMyString& str); ~CMyString(void); CMyString& operator = (const CMyString& str); void Print(); private:
2020-12-02 19:38:46 193
原创 34. 在排序数组中查找元素的第一个和最后一个位置
class Solution { public: int binarySearch(vector<int>& nums, int target, bool lower) { int left = 0, right = nums.size() - 1, ans = (int)nums.size(); while (left <= right) { int mid = (left + right) / 2; ...
2020-12-01 17:02:04 47
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人