代码随想录Day31

Day 31 贪心算法 Part01

今日任务

  • 455.分发饼干
    1. 摆动序列
    1. 最大子序和

代码实现

455.分发饼干

	//自己想的,虽然看着不让代码随想录给出的解法简洁,但是理论是一样的public int findContentChildren(int[] g, int[] s) {Arrays.sort(g);Arrays.sort(s);int count = 0;int startIndex = 0;for (int k : g) {for (int j = startIndex; j < s.length; j++) {if (s[j] >= k) {count++;startIndex = j + 1;break;}}}return count;}//代码随想录解法,优先把大饼干分给胃口大的人public int findContentChildren(int[] g, int[] s) {Arrays.sort(g);Arrays.sort(s);int count = 0;int startIndex = s.length - 1;for (int i = g.length - 1; i >= 0; i--) {if (startIndex >= 0 && s[startIndex] >= g[i]) {count++;startIndex--;}}return count;}
  1. 摆动序列
    public int wiggleMaxLength(int[] nums) {if (nums.length < 3) return nums.length;int preDiff = 0;int curDiff = 0;int count = 1;for (int i = 0; i < nums.length - 1; i++) {curDiff = nums[i + 1] - nums[i];if ((preDiff <= 0 && curDiff > 0) || (preDiff >= 0 && curDiff < 0)) {count++;}if (curDiff != 0) {preDiff = curDiff;}}return count;}
  1. 最大子序和
    public int maxSubArray(int[] nums) {int count = 0;int result = Integer.MIN_VALUE;for (int num : nums) {count+=num;if (count < 0) {count = 0;}if (count > result) {result = count;}}return result;}

今日总结

  1. 除了第一道题一看就有思路,后边的题完全想不出来,也想不出贪心是什么个贪心法,只能看题解,有点像一开始做二叉树的感觉。
  2. 能用贪心做的是否都能用动态规划实现?
  3. 今天大亏,昨天和今天中午都想的清仓,睡一觉就忘了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/763955.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git浅谈配置文件和免密登录

一、文章内容 简述git三种配置ssh免密登录以及遇见的问题git可忽略文件git remote 相关操作 二、Git三种配置 项目配置文件(局部)&#xff1a;项目路径/.git/config 文件 git config --local user.name name git config --local user.email 123qq.cc全局配置文(所有用户): …

【Web】记录CISCN 2021 总决赛 ezj4va题目复现——AspectJWeaver

目录 前言 原理分析 step 0 step 1 EXP 前文&#xff1a;【Web】浅聊Java反序列化之AspectJWeaver——任意文件写入-CSDN博客 前言 这就是当年传说中的零解题嘛&#x1f62d;&#xff0c;快做&#x1f92e;了 有了之前的经验&#xff0c;思路顺挺快的&#xff0c;中间不…

网络基础(一)初识

1、计算机网络背景 1.1、网络发展 1. 独立模式: 计算机之间相互独立&#xff1b; 2. 网络互联: 多台计算机连接在一起&#xff0c;完成数据共享&#xff1b; 3. 局域网LAN: 计算机数量更多了, 通过交换机和路由器连接在一起; 4. 广域网WAN: 将远隔千里的计算机都连在一起;…

突破编程_C++_STL教程( priority_queue 的基础知识)

1 std::priority_queue 概述 std::priority_queue 是 C 标准库中的一个容器适配器&#xff0c;它提供了一种实现优先队列数据结构的机制。优先队列是一种特殊的队列&#xff0c;其中元素的出队顺序不是基于它们进入队列的顺序&#xff0c;而是基于它们的优先级。优先级最高的元…

【python】python汽车效能数据集—回归建模(源码+数据集)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

yaml 语法和在线解析工具

文章目录 在线解析工具1. 简介2. 语法规则3. 数据类型3.1 数组&#xff1a;3.2对象&#xff1a;3.3 标量3.4 复合结构3.5 锚点3.5.1 单个锚点3.5.6 多个锚点 3.6 引号 参考 在线解析工具 工具1 工具2 1. 简介 Yaml是一种可读性高的数据标记语言&#xff0c;Yaml文件是一种配…

使用VisualStudio集成开发nodejs的addon项目

文章目录 Visual Studio中的nodeJS项目配置Visual Studio中的addon项目配置一般的addon项目手写CPP文件 & VS构建.node文件的本质分析使用VS来创建node文件项目另外一个验证方式Visual Studio中的nodeJS项目配置 在VisualStudio的IDE中,已经可以创建一些基本的nodejs项目…

vscode配置C语言打断点

搞了半天&#xff0c;也不知道为什么&#xff0c;不能打断点&#xff0c;后来就可以了。 1&#xff0c;VSCODE启动要管理员启动。 launch.json文件内容 { "version": "0.2.0", "configurations": [ { "name": "(Windows) Laun…

Python从入门到精通秘籍十五

一、Python之基础地图的使用 当涉及到地图数据和地理信息处理时&#xff0c;Python中最常用的库是Folium&#xff0c;它是一个基于Leaflet.js的Python库&#xff0c;可以轻松创建交互式地图可视化。 首先&#xff0c;你需要安装Folium库。可以通过以下命令使用pip进行安装&am…

45.i++和++i

目录 一.基本概念 二.区别 三.总结 四.视频教程 一.基本概念 i和i两者的作用都是自增加1。单独使用的话&#xff0c;i和i&#xff0c;效果都是一样的&#xff0c;就是ii1。 int main() {int i 0;i; } int main() {int i 0;i; } 最后的结果都是1。 二.区别 如上单独使…

SpringBoot—@ConditionalOnBean与@ConditionalOnClass

一、ConditionalOnBean概念 需求场景 比如下面一种场景&#xff0c;我在实例化People对象的时候&#xff0c;需要注入一个City对象。这个时候问题来了&#xff0c;如果city没有实例化&#xff0c;那么下面就会报空指针或者直接报错。 所以这里需求很简单&#xff0c;就是当前c…

就业班 第二阶段 2401--3.19 day4 主从复制

一、MySQL-Replication&#xff08;主从复制&#xff09; 1.1、MySQL Replication 主从复制&#xff08;也称 AB 复制&#xff09;允许将来自一个MySQL数据库服务器&#xff08;主服务器&#xff09;的数据复制到一个或多个MySQL数据库服务器&#xff08;从服务器&#xff09;…

MySQL面试题--最全面-索引

目录 一、索引 1.MySQL是如何让实现的索引机制&#xff1f; 2.InnoDB索引与MyISAM索引实现的区别是什么&#xff1f; 3.一个表中如果没有创建索引&#xff0c;那么还会创建B树吗&#xff1f; 4.说一下B树索引实现原理&#xff08;数据结构&#xff09; 5.聚簇索引与非聚簇…

Handler的post与sendMessage的区别和应用场景

Handler的post与sendMessage的区别和应用场景 区别在于post实现起来比较简单。而sendMessage()则需要自己重写handleMessage&#xff08;&#xff09;方法。 两者在本质上都没有什么区别。post方法适合单一的场景&#xff0c;实现起来比较方便。sendMessage()适合需要作条件判…

弱电工程包括哪些工程?

​一、弱电工程的分部有哪些? 分为基础、主体、装饰工程、强电、弱电、消防、暖通、给排水工程&#xff0c;桩基、筏板、模板、钢筋、混凝土、砌体、粉刷、地坪等 二、弱电工程系统包括哪些? 弱电系统包括&#xff1a;闭路电视监控系统、防盗报警系统、门禁系统、电子巡更…

[小程序开发] 分包加载

一、介绍 分包加载是一种小程序的优化技术&#xff0c;将小程序不同功能的代码&#xff0c;分别打包成不同的子包&#xff0c;在构建时打包成不同的分包&#xff0c;用户在使用时按需进行加载&#xff0c;在构建小程序分包项目时&#xff0c;构建会输出一个或多个分包&#xff…

突破编程_C++_C++11新特性(type_traits的复合类型特性以及关系类型特性)

1 type_traits 复合类型特性 1.1 std::is_function std::is_function 是一个模板类&#xff0c;用于检查一个类型是否为函数类型。 定义&#xff1a; template< class T > struct is_function;当 T 为函数类型则为 true&#xff0c;否则为 false。 样例&#xff1…

专业前沿问题问答合集10-2——比特币的加密原理

专业前沿问题问答合集10-2——比特币的加密原理 比特币的加密原理 比特币作为一种加密货币,其安全性和功能性主要基于密码学原理和区块链技术。以下是比特币加密原理的关键组成部分: 1. 非对称加密(公钥和私钥) 比特币使用非对称加密技术来确保交易的安全性。每个比特币…

Docker 浅谈重要的概念和应用场景

文章目录 一、重要的概念二、特性三、特性的常见应用场景四、基本使用流程 一、重要的概念 镜像&#xff08;Image&#xff09;&#xff1a;镜像是Docker的基本构建块&#xff0c;它是一个只读的文件&#xff0c;包含了运行应用程序所需的所有文件系统、库和依赖项。可以将镜像…

1065:奇数求和

【题目描述】 计算非负整数m到n(包括m和n)之间的所有奇数的和&#xff0c;其中&#xff0c;m 不大于 n&#xff0c;且n 不大于300。例如 m3,n12 其和则为&#xff1a;35791135。 【输入】 两个数 m 和n &#xff0c;两个数以一个空格分开&#xff0c;其中 0≤m≤n≤300 。 …