代码编织梦想

贪心算法:455.分发饼干,376. 摆动序列,53. 最大子序和-爱代码爱编程

455.分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸

贪心算法:leetcode 455.分发饼干、376.摆动序列、53.最大子序和-爱代码爱编程

leetcode 455.分发饼干 leetcode 376.摆动序列 leetcode 53.最大子序和 贪心算法理论基础 什么是贪心 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 例如,有一堆钞票,你可以拿走十张,如果想达到最大的金额,你要怎么拿? 指定每次拿最大的,最终结果就是拿走最大数额的钱。

leetcode — 动态规划 — 打家劫舍、完全平方数-爱代码爱编程

1 打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。 示例 1: 输入:[1,2,3,1]

leetcode 刷题 [c++] 第102题.二叉树的层序遍历-爱代码爱编程

题目描述 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 题目分析 题目中要求层序遍历二叉树,即二叉树的广度优先搜索(BFS)。BFS一般使用队列的先入先出特性实现

【算法 -爱代码爱编程

在前面的动态规划系列文章中,关于如何对递归进行分析的四种基本模型都介绍完了,再来回顾一下: 从左到右模型 :arr[index ...] 从 index 之前的不用考虑,只考虑后面的该如何选择 。范围尝试模型 :思考 [L

【leetcode】53. 最大子数组和(中等)——代码随想录算法训练营day31-爱代码爱编程

题目链接:53. 最大子数组和 题目描述 代码 测试用例 测试结果 测试结果 53. 最大子数组和 中等 相关标签 相关企业 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 示例 1: 输入:nums = [-2,1,-3,4,-1,2,

【leetcode】376. 摆动序列(中等)——代码随想录算法训练营day31-爱代码爱编程

题目链接:376. 摆动序列 题目描述 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。 例如, [1, 7, 4, 9, 2, 5] 是一个 摆动序列 ,因为差值 (6, -3, 5, -7, 3) 是正负交替出现的。 相反,

【leetcode】455. 分发饼干(简单)——代码随想录算法训练营day31-爱代码爱编程

题目链接:455. 分发饼干 题目描述 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足

代码随想录算法训练营day31-爱代码爱编程

题目:455_分发饼干(看了题解) 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值  g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你

备战蓝桥杯————k个一组反转单链表-爱代码爱编程

        k个反转单链表,顾名思义就是k个节点为一组进行反转,这是一道困难的题目,如何解答,可以在我们前面的反转链表中得到思路。 如何 K 个一组反转单链表 题目描述         给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不

备战蓝桥杯————如何判断回文链表-爱代码爱编程

如何判断回文链表 题目描述         给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false 。 示例 1: 输入:head = [1,2,2,1] 输出:true 示例 2: 输入:head = [1,2] 输出:false 提示: 链表中

codetop刷题java——146.lru缓存机制_146、lru缓存机制java-爱代码爱编程

请你设计并实现一个满足LRU (最近最少使用) 缓存约束的数据结构。 实现LRUCache类:         LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存         int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。         

【leetcode刷题】146. lru 缓存-爱代码爱编程

请你设计并实现一个满足  LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类: LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, i

leetcode热题100——图论-爱代码爱编程

图论 1. 岛屿的数量2. 腐烂的橘子 1. 岛屿的数量 给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直

leetcode 热题 100 | 图论(上)-爱代码爱编程

目录 1  200. 岛屿数量 2  994. 腐烂的橘子 2.1  智障遍历法 2.2  仿层序遍历法 菜鸟做题,语言是 C++ 1  200. 岛屿数量 解题思路: 遍历二维数组,寻找 “1”(若找到则岛屿数量 +1)寻找与当前 “1” 直接或间接连接在一起的 “1”将这些 “1” 置为 “0”,再寻找下一个 “1” 思路

【寸铁的刷题笔记】图论、bfs、dfs-爱代码爱编程

【寸铁的刷题笔记】图论、bfs、dfs 大家好 我是寸铁👊 金三银四,图论基础结合bfs、dfs是必考的知识点✨ 快跟着寸铁刷起来!面试顺利上岸👋 喜欢的小伙伴可以点点关注 💝 🌞详见如下专栏🌞 🍀🍀🍀寸

【树】【图论】【树路径】【深度优先搜索】2867. 统计树中的合法路径数目-爱代码爱编程

作者推荐 【广度优先搜索】【网格】【割点】【 推荐】1263. 推箱子 本文涉及知识点 树 图论 深度优先搜索 LeetCode:2867. 统计树中的合法路径数目 给你一棵 n 个节点的无向树,节点编号为 1 到

leetcode-爱代码爱编程

解题思路: 贪心(每次遍历只考虑一侧的大小关系) (1)将所有孩子的糖果初始化为1 (2)从左往右遍历,若右边孩子的评分比左边的高,则右边孩子的糖果数更新为左边孩子的糖果数加1 (3)从右往左遍历,若左边孩子的评分比右边的

代码随想录算法训练营第四十二天打卡| 背包问题 416 分割等和子集-爱代码爱编程

题目链接:416. 分割等和子集 题目描述:给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 代码实现 class Solution { public: bool canPartition(vector<int>& nums) { in

代码随想录算法训练营第46天| 139.单词拆分 多重背包-爱代码爱编程

JAVA代码编写 139.单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 **注意:**不要求字典中出现的单词全部都使用,并且字典中的单词