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

代码随想录day26 Java版

今天开始刷贪心算法,新手保护期中爽得一批

455.分发饼干

先把两个数组排序,采用先满足胃口小的孩子,饼干数组无条件向后扫描,能满足孩子后再向后扫描胃口数组

class Solution {public int findContentChildren(int[] g, int[] s) {int count = 0;Arrays.sort(g);Arrays.sort(s);for (int i = 0, j = 0; i < s.length && j < g.length; i++) {if (s[i] >= g[j]) {j++;count++;}}return count;}
}

376. 摆动序列

从头开始扫描,记录前一个和当前的差值,使用左闭右开区间处理平峰,满足一个加一个

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

53. 最大子序和

贪心点在于舍弃掉小于0的部分,代码上使用acc作为累加器,小于等于0的时候重置

class Solution {public int maxSubArray(int[] nums) {if (nums.length == 1) return nums[0];int sum = Integer.MIN_VALUE,acc=0;for (int i = 0; i < nums.length; i++) {acc += nums[i];sum = Math.max(sum,acc);if (acc <= 0) acc = 0;}return sum;}
}

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

相关文章:

  • 英文论文(sci)解读复现【NO.21】一种基于空间坐标的轻量级目标检测器无人机航空图像的自注意
  • 数据集合
  • php基础学习之作用域和静态变量
  • SP1:基于Plonky3构建的zkVM
  • Python爬虫之文件存储#5
  • Spring Boot 笔记 012 创建接口_添加文章分类
  • Spring-面试题
  • Flink理论—容错之状态
  • 【数据结构】链表OJ面试题5《链表的深度拷贝》(题库+解析)
  • 智慧校园规划建设方案
  • 003 - Hugo, 创建文章
  • HCIA-HarmonyOS设备开发认证V2.0-IOT硬件子系统-GPIO
  • 《Java 简易速速上手小册》第7章:Java 网络编程(2024 最新版)
  • 用keras对电影评论进行情感分析
  • 每日OJ题_算法_递归④力扣24. 两两交换链表中的节点
  • 110 C++ decltype含义,decltype 主要用途
  • PYTHON 120道题目详解(85-87)
  • 【Linux】Linux编译器-gcc/g++ Linux项目自动化构建工具-make/Makefile
  • sqlserver 子查询 =,in ,any,some,all的用法
  • 基于MapVGL的地理信息三维度数据增长可视化
  • 天锐绿盾|防泄密系统|计算机文件数据\资料安全管理软件
  • leetcode刷题(罗马数字转数字)
  • 什么是NAT网关?联通云NAT网关有什么优势
  • CVE-2023-41892 漏洞复现
  • 【每日一题】06 排序链表
  • 【精品】关于枚举的高级用法
  • Vue2学习第一天
  • HAL STM32通过multi_button库处理按键事件
  • 随机过程及应用学习笔记(一)概率论(概要)
  • 洛谷_P1059 [NOIP2006 普及组] 明明的随机数_python写法