【算法/贪心算法/序列问题】题解+详细备注(共2题)
2023-09-11 14:20:02 时间
【算法/贪心算法/序列问题】题解+详细备注(共2题)
376.摆动序列
class Solution {
public:
int wiggleMaxLength(vector<int>& nums) {
int n = nums.size();
int cur{};// 记录下一个值与当前值的差
int pre{};// 记录当前值与上一个值的差
int result{1};// 边界条件注意:初始化为1
for(int i{};i<n-1;++i){
cur = nums[i+1]-nums[i];
// 判断校验(边界条件注意:pre判断要=0)
if((cur > 0 && pre <=0) || (cur < 0 && pre >=0)){
pre = cur;
result++;
}
}
return result;
}
};
738.单调递增的数字
class Solution {
public:
// 重点是如何思考到,如果当前数字不是递增的,就是最大位-1,然后依次赋值为9:例如332不满足条件,那么符合条件的就是299
int monotoneIncreasingDigits(int n) {
string num = to_string(n);
int length = num.size();
int flag{INT_MAX}; // 记录-1后的下标
for(int i = length-1;i>0;--i){
if(num[i-1] > num[i]){
flag = i;
num[i-1]--;
}
}
// 依次赋值为‘9’
for(int i = flag;i<length;++i){
num[i] = '9';
}
return stoi(num);
}
};
相关文章
- 最长公共子序列/子串 LCS(模板)
- Java实现 LeetCode 376 摆动序列
- Java实现 LeetCode 300 最长上升子序列
- Java实现 蓝桥杯VIP 算法训练 摆动序列
- Java实现 蓝桥杯VIP 算法训练 摆动序列
- 【python cookbook】【数据结构与算法】18.将名称映射到序列的元素中
- 【python cookbook】【数据结构与算法】18.将名称映射到序列的元素中
- 【python cookbook】【数据结构与算法】12.找出序列中出现次数最多的元素
- LeetCode(105):从前序与中序遍历序列构造二叉树
- Atitit 算法原理与导论 目录 1. Attilax总结的有用算法 按用途分类1 1.1. 排序算法 字符串匹配(String Matching)1 1.2. 加密算法 编码算法 序列
- m基于POCS算法的空域序列图像超分辨率重建matlab仿真
- 剑指 Offer II 095. 最长公共子序列-动态规划算法
- 序列最小最优化算法
- 【数字信号处理】基本序列 ( 正弦序列 | 数字角频率 ω | 模拟角频率 Ω | 数字频率 f | 模拟频率 f0 | 采样频率 Fs | 采样周期 T )
- [LeetCode] 516. 最长回文子序列 ☆☆☆(动态规划)
- 《5G网络协议与客户感知》读书笔记 | 注册流程信令序列
- 时间序列挖掘-预测算法-三次指数平滑法(Holt-Winters)——三次指数平滑算法可以很好的保存时间序列数据的趋势和季节性信息
- Keras之TCN:基于keras框架利用时间卷积网络TCN算法对上海最高气温实现回归预测(把时间序列数据集转化为有监督学习数据集)案例
- Keras之MLPR:利用MLPR算法(3to1【窗口法】+【Input(3)→(12+8)(relu)→O(mse)】)实现根据历史航空旅客数量数据集(时间序列数据)预测下月乘客数量问题
- 《Fluent Python》读书笔记-1.3 内置序列容器