摘要:
给定一个正整数 n ,输出外观数列的第 n 项 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述 ####1. 递归 判断相邻相等的方法每次只能处理上一个值 等价于每次比较上一个组的末位置与当前组的初始位置 最后一个值要额外处理 class Solution { pub 阅读全文
摘要:
####1. 基本计算器 ####2. 串的模拟操作 ####3. 字符串相乘 ####4. 旋转图像 ####5. 螺旋矩阵 ####6. 矩阵置零 ####7. 搜索二维矩阵 ####8. 对角线遍历 ####9. 复写零 ####10. 二维网格迁移 阅读全文
摘要:
####1. 基本计算器 实现加减和括号优先级,忽视空格 class Solution { public: int calculate(string s) { stack<int> ops;//栈存储上一层 ops.push(1); int sign = 1; int ret = 0; int n 阅读全文
摘要:
给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素 ####1. 模拟操作(贪吃蛇不断更改方向) class Solution { public: vector<int> spiralOrder(vector<vector<int>>& matrix) { 阅读全文
摘要:
给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 ####1. O(m+n)辅助空间 基本操作,用两个数组存储对应行和列是否要置零 class Solution { public: void setZeroes(vector<vector<int>>& mat 阅读全文
摘要:
给你一个 m 行 n 列的二维网格 grid 和一个整数 k,你需要将 grid 迁移 k 次 ####1. 直接映射 class Solution { public: vector<vector<int>> shiftGrid(vector<vector<int>>& grid, int k) { 阅读全文
摘要:
给你一个大小为 m x n 的矩阵 mat ,请以对角线遍历的顺序,用一个数组返回这个矩阵中的所有元素 ####1. 模拟操作 按照对角线扫描的顺序,首先要清楚得遍历m+n-1趟 对于对角线移动操作,往上扫描时横坐标增,纵坐标减,往下扫描时,横坐标减,纵坐标增 每扫描完一趟,横纵坐标有一个变化 向上 阅读全文