【算法刷题day31】Leetcode:455. 分发饼干、376. 摆动序列、53. 最大子数组和

news/2024/10/15 22:13:05/

文章目录

    • Leetcode 455. 分发饼干
      • 解题思路
      • 代码
      • 总结
    • Leetcode 376. 摆动序列
      • 解题思路
      • 代码
      • 总结
    • Leetcode 53. 最大子数组和
      • 解题思路
      • 代码
      • 总结

草稿图网站
java的Deque

Leetcode 455. 分发饼干

题目:455. 分发饼干
解析:代码随想录解析

解题思路

从大到小遍历所有的饼干,找到胃口最大的孩子吃掉它。循环,直到没有孩子的胃口小于等于当前的饼干,或者饼干吃完了。

代码

class Solution {public int findContentChildren(int[] g, int[] s) {int res = 0;Arrays.sort(g);Arrays.sort(s);int child = g.length - 1;for (int cookie = s.length - 1; cookie >= 0; cookie--) {while (child >= 0) {if (g[child] <= s[cookie]) {res++;child--;break;}child--;}}return res;}
}//换个遍历方式,也是让胃口大的孩子,先吃掉大饼干
class Solution {public int findContentChildren(int[] g, int[] s) {int res = 0;Arrays.sort(g);Arrays.sort(s);int cookie = s.length - 1;for (int child = g.length - 1; child >= 0; child--) {if (cookie >= 0 && g[child] <= s[cookie]) {res++;cookie--;}}return res;}
}

总结

Leetcode 376. 摆动序列

题目:376. 摆动序列
解析:代码随想录解析

解题思路

仅当有波动的时候更新lastDiff和res++

代码

class Solution {public int wiggleMaxLength(int[] nums) {if (nums.length <= 1) return nums.length;int res = 1;int lastDiff = 0;int curDiff = 0;for (int i = 1; i < nums.length; i++) {curDiff = nums[i] - nums[i - 1];if (lastDiff <= 0 && curDiff > 0 || lastDiff >= 0 && curDiff < 0) {res++;lastDiff = curDiff;}}return res;}
}

总结

暂无

Leetcode 53. 最大子数组和

题目:53. 最大子数组和
解析:代码随想录解析

解题思路

curSum >= 0的时候,对区间和都是有收益的。当curSum<0的时候,只有负收益,所以重新启动。

代码

class Solution {public int maxSubArray(int[] nums) {int res = Integer.MIN_VALUE;int curSum = 0;for (int i = 0; i < nums.length; i++) {curSum += nums[i];if (curSum > res) {res = curSum;}if (curSum < 0) curSum = 0;}return res;}
}

总结

暂无


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

相关文章

PHP命令执行漏洞CVE-2024-1874复现

CVE-2024-1874 PHP命令执行漏洞 影响版本 Affected versions < 8.1.28 < 8.2.18 < 8.3.5 Patched versions 8.1.28 8.2.18 8.3.6 POC 创建一个文件test.php <?php $descriptorspec [STDIN, STDOUT, STDOUT]; $proc proc_open(["test.bat", "\&…

R语言入门:R中导入数据有哪些格式?

1、文本文件 CSV文件&#xff08;逗号分隔值&#xff09;&#xff1a;使用 read.csv() 或 read.csv2() 函数。文本文件&#xff08;以空格、制表符等分隔&#xff09;&#xff1a;使用 read.table() 函数。文本文件&#xff08;固定宽度格式&#xff09;&#xff1a;使用 read…

开发语言漫谈-go

网上吹嘘go语言的很多&#xff0c;确实鹅厂&#xff0c;字节、B站、知乎都在用go。但是实质上你发现他们的领域是一样的。你听说过谁家的财务系统用go&#xff1f;谁家erp用go&#xff1f; go的设计思路和python差不多&#xff0c;就是要降低入门难度&#xff0c;提高开发效率。…

49-PCIE转网口电路设计

视频链接 PCIE转网口电路设计01_哔哩哔哩_bilibili PCIe转网口电路设计 1、PCIE转网口电路设计基本介绍 pcie转网口的设计&#xff0c;一般有intel (i350)和网讯&#xff08;wx1860&#xff09;两种方案。 2、PCIE转网口的方案 2.1、I350 2.2、WX1860 (网迅) 国产化&#…

Linux KASAN使用与实现原理

一、KASAN工具使用 KASAN工具&#xff1a;Kernel Address SANitizer(KASAN)是一种动态内存安全错误检测工具&#xff0c;主要功能是检查内存越界访问和使用已释放内存的问题。 1.1 KASAN宏控开关 KASAN有三种模式&#xff1a;1.通用KASAN&#xff1b;2.基于软件标签的KASAN&…

【Ubuntu20.04+Noetic】UR5e+Gazebo+Moveit

环境准备 创建工作空间 mkdir -p ur5e_ws/src cd ur5e_ws/srcUR机械臂软件包 UR官方没更新最新的noetic的分支,因此安装melodic,并需要改动相关文件。 安装UR的模型配置包,包里面有UR模型文件,moveit配置等: cd ~/ur5e_ws/src git clone -b melodic-devel https://git…

大创项目推荐 深度学习YOLO图像视频足球和人体检测 - python opencv

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络4 Yolov5算法5 数据集6 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 深度学习YOLO图像视频足球和人体检测 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非…

混合云构建-如何创建一个高可用的Site to Site VPN 连接 Azure 和GCP云

在现代云计算环境中,企业通常会采用多云战略,将工作负载分布在不同的云服务提供商上。这种方式可以提高可用性、降低供应商锁定风险,并利用每个云提供商的独特优势。然而,在这种情况下,需要确保不同云环境之间的互联互通,以实现无缝的数据传输和应用程序集成。 本文将详细介绍…