当前位置: 首页 > news >正文

代码随想录二刷 Day 34

455.分发饼干

这个题差不多是两个for循环遍历,然后用双指针法化简,自己可以大概写出来,漏了一个边界条件

class Solution {
public:int findContentChildren(vector<int>& g, vector<int>& s) {sort(g.begin(), g.end());sort(s.begin(), s.end());int result = 0;int number = 0;for ( int i = 0; i < s.size(); i++) {if (number < g.size() && s[i] >= g[number]) {//if ( s[i] >= g[number]) {   这句是一开始写的,少了个边界条件在某种情况会报错result++;number++;  }}return result;}
};

376. 摆动序列

这个思路主要就是找peak的数量,需要注意几种不同的情况以及边界条件

class Solution {
public:int wiggleMaxLength(vector<int>& nums) {if (nums.size() <= 1) return nums.size();int result = 1;  //这句是为了边界条件只有两个数字的时候结果是2int pre_diff = 0;int cur_diff = 0;for (int i = 0; i < nums.size() - 1; i++) {cur_diff = nums[i+1] - nums[i]; //这一句不会越界因为前面那行限制了iif (pre_diff <= 0 && cur_diff > 0 || pre_diff >= 0 && cur_diff < 0) {  //这句等于号的就是再处理平坡的情况, 相当于删除的平坡result ++; pre_diff = cur_diff;  //这句只能写在if之内,这是当找到顶峰的时候更新pre,如果放在if外就是一直动态实时更新pre}}return result;}
};

53. 最大子序和

写不出, 主要的过程就是当结果小于0的时候从这个数字开始累加

class Solution {
public:int maxSubArray(vector<int>& nums) {int result = INT32_MIN;int count = 0;for (int i = 0; i < nums.size(); i++) {count += nums[i];if (count > result) { // 取区间累计的最大值(相当于不断确定最大子序终止位置)result = count;}if (count <= 0) count = 0; // 相当于重置最大子序起始位置,因为遇到负数一定是拉低总和}return result;}
};

http://www.lryc.cn/news/194542.html

相关文章:

  • 软件开源快速开发框架:降本增效,助力流程化办公!
  • Flink on k8s容器日志生成原理及与Yarn部署时的日志生成模式对比
  • AD20绘制电路板的外形
  • linux 设置开机启动
  • IDEA实现远程Debug调试
  • SpringBoot项目入门: IDEA 创建SpringBoot项目
  • Vue2+SpringBoot实现数据导出到csv文件并下载
  • NewStarCTF2023week2-base!(base低位隐写)
  • 众和策略:国际油价走高,石油板块强势拉升,通源石油、和顺石油等涨停
  • C++笔记之获取线程ID以及线程ID的用处
  • 机器人硬件在环仿真:解决实体开发与测试挑战,提升效率与安全性
  • stream()
  • VBA之正则表达式(43)-- 从网页中提取指定数据
  • Elucidating the Design Space of Diffusion-Based Generative Models 阅读笔记
  • 计算机网络 | 传输层
  • Android 13 隐私权限和安全变更之通知
  • docker-compose安装和使用(自启、redis、mysql、rabbitmq、activemq、es、nginx、java应用)
  • dll文件缺失,ps,pr无法打开,游戏运行不了如何解决
  • 前后端数据导入导出Excel
  • RackNerd 圣何塞 VPS 测评
  • php74 安装sodium
  • 优思学院:想成为质量工程师?了解质量工程师职责和能力是关键!
  • Rollup failed to resolve import
  • 基于VScode 使用plantUML 插件设计状态机
  • 2023年中国汽车智能工厂市场规模不断增大,智能化已成趋势[图]
  • cola架构:一种扩展点的实现思路浅析
  • Thread常用API
  • 系列九、Redis的发布订阅
  • 《TypeScript》系列之对比JavaScript,TypeScript的优势
  • Notepad++使用技巧