代码随想录第27天 | 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和

news/2025/2/6 9:45:24/

455.分发饼干

/*** @param {number[]} g* @param {number[]} s* @return {number}*/
var findContentChildren = function(g, s) {let a=0let b=0let count=0g.sort((a,b)=>a-b)s.sort((a,b)=>a-b)while(a<=g.length&&b<s.length){if(s[b]>=g[a]){count++b++a++}else{b++}}return count
};

第一想法

两个数组排序排序,双指针

376. 摆动序列

  var wiggleMaxLength = function (nums) {let count = 0;let i = 1;while (nums[i] === nums[i - 1]) {i++;}let r = nums[i] - nums[i - 1] > 0 ? -1 : 1;  //可能一开始是-也可能是+while (i <= nums.length) {  //[3,3,3,2,5]避免这种while (nums[i] === nums[i - 1]) {i++;}if ((nums[i] - nums[i - 1]) * r < 0) { //判断是否不一样r = nums[i] - nums[i - 1];count++;i++;} else i++;}return count + 1;};

第一想法

如代码所示,可以不删除,i++就是了

53. 最大子数组和

 /*** @param {number[]} nums* @return {number}*/var maxSubArray = function (nums) {let l = 0;let reslut = -10000000;let suml = 0;let flag = 0;while (l < nums.length) {suml += nums[l];if (reslut < suml) reslut = suml;if (suml < 0) suml = 0;l++;}return reslut;};

第一想法

滑动,但不行

思想

在这里插入图片描述

一路加上,小于0的都按0来处理,l++

if (reslut < suml) reslut = suml;
if (suml < 0) suml = 0;
这两个的顺序注意
计算起点的时候,一定是从 1 开始计算,因为负数只会拉低总和,这就是贪心贪的地方!

局部最优:当前“连续和”为负数的时候立刻放弃,从下一个元素重新计算“连续和”,因为负数加上下一个元素 “连续和”只会越来越小。



http://www.ppmy.cn/news/912619.html

相关文章

卡西欧95计算机怎么玩游戏,你真的会用计算器么?来玩转卡西欧计算器吧

这款计算器的全称是卡西欧STYLISH商务办公计算器JW-200SC 大家对计算器应该不陌生&#xff0c;手机自带的也有&#xff0c;但是科学计算器的海洋实在种类繁多&#xff0c;这就未必人人都会用所有的按键了。 这款200SC计算器主打汇率计算和税率计算&#xff0c;是一款侧重财务计…

casio计算机有没有存储功能,哪些卡西欧计算器是不带储存功能?

所有模式调出请先进异常模式&#xff1a; 首先打开计算器电源(ON) 注&#xff1a;()代表注释 ( )代表第二功能键 1。shift 2。(Pol) 3。1 4。shift 5。(,) 6。0 7。) 8。 9。狂按分数线,直到按到顶不动为止(似乎是6个) 10。 按 (显示Syntax ERROR 不要管它),AC,左 11。1 12。幂…

科学计算机上如何输arc,卡西欧5800计算器怎么输入arctan函数

优质回答 回答者&#xff1a;RTTOOA 第一步确保计算机处于DEG模式&#xff0c;第二步用"SHIFT"切换出“tan”的反函数“arctan”再进行计算。 比如说要求数x的arctan值&#xff0c;首先按下“SHIFT”键&#xff0c;再按下“tan“键&#xff0c;接下来按下“x”&#…

卡西欧计算器说明书获取方法

点这里 进入卡西欧官网&#xff0c;搜索你想要的计算器型号就可以了。 比如我的计算器是 fx-991CN_X 附上fx-911CN_X 的 说明书 2021年11月6日17:06:12

谷粒商城篇章4 ---- P102-P172【分布式高级篇一】

目录 1. Elasticsearch 1.1 基本概念 1.1.1 Index&#xff08;索引&#xff09; 1.1.2 Type&#xff08;类型&#xff09; 1.1.3 Document&#xff08;文档&#xff09; 1.1.4 倒排索引机制 1.2 Docker安装 ES 1.2.1 下载镜像文件 1.2.2 运行 Elasticsearch 1.3 初步…

实现 Rollup 插件alias 并使用单元测试提高开发效率

本篇文章是对 实现 Rollup 插件 alias | 使用 TypeScript 实现库的基本流程 | 使用单元测试提高开发效率 的总结。其中涉及到开发一个组件库的诸多知识点。 实现一个经常用的 rollup 插件 alias 首先执行npm init命令初始化一个package.json文件&#xff0c;因为插件使用了ty…

移动、电信、联通、QQ币、游戏点卡快速秒充体验

http://shop108789513.taobao.com/?spm0.0.0.0.Pnt4wf&v1 速度不错&#xff0c;值得推广

C币充值

怎么获取C币啊&#xff0c;为什么我完善的个人资料那5个C币都没有呢