随笔分类 -  Java / leetcode刷题集合

摘要:如何快速求一个整数使用二进制表示时1的个数? 这里给出一个很简单的方法,首先看代码: public int findBin1Count(int n) { int res = 0; while (n != 0) { if ((n & 1) == 1) res++; n >>= 1; } return 阅读全文
posted @ 2025-02-19 22:23 LilyFlower 阅读(5) 评论(0) 推荐(0) 编辑
摘要:贪心算法案例 - 分发糖果(Hard) 1. 题目描述 n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。你需要按照以下要求,给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。 相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果,计算并返回需要准备的 最 阅读全文
posted @ 2024-10-27 18:31 LilyFlower 阅读(34) 评论(0) 推荐(0) 编辑
摘要:贪心算法案例 - 分发饼干(Easy) 1. 题目描述 有一群孩子和一堆饼干,每个孩子有一个饥饿度,每个饼干都有一个大小。每个孩子只能吃最多一个饼干,且只有饼干的大小大于孩子的饥饿度时,这个孩子才能吃饱。求解最多有多少孩子可以吃饱? 2. 输出案例 输入两个数组,分别代表孩子的饥饿度和饼干的大小。输 阅读全文
posted @ 2024-10-27 17:53 LilyFlower 阅读(16) 评论(0) 推荐(0) 编辑
摘要:动态规划 - 计算最长公共子串问题 题目描述: 给定两个字符串s, t,求字符串 t 在字符串 s 中的最长公共长度,例如字符串 s 为"itheima", t为"thema",则公共字串有"the", "ma", 最长公共子串为"the"。 这种类似的问题有多种解法,今天已动态规划来解决该问题。 阅读全文
posted @ 2024-10-17 09:40 LilyFlower 阅读(19) 评论(0) 推荐(0) 编辑
摘要:贪心算法案例 - 零钱兑换问题 贪心算法原则: 每一次都选取当前最优解 《向前看,别回头》 案例:(322. 零钱兑换 - 力扣(LeetCode)) 题目描述: 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬 阅读全文
posted @ 2024-10-13 11:24 LilyFlower 阅读(125) 评论(0) 推荐(0) 编辑
摘要:牛顿迭代法 - 求解非线性方程根的近似解 在算法中,牛顿迭代法主要用于求解非线性方程或优化问题。它是一种迭代算法,通过不断逼近来找到函数的根或者最小化/最大化某个目标函数。 这里呢,我们重点讲一下如何求解线性方程 F(X)=0 近似根的大致步骤。 选择一个初始猜测值x0: 这个 阅读全文
posted @ 2024-10-13 00:18 LilyFlower 阅读(98) 评论(0) 推荐(0) 编辑
摘要:贪心算法经典案例-分数背包问题 问题描述 n个物品都是液体,有重量和价值: 现在你需要拿走10升的液体 每次可以不拿,全拿,或拿一部分,问怎么拿才能获取最高的价值 编号 重量(升) 价值 物品 0 4 24 水 1 8 160 牛奶 2 2 4000 五粮液 3 6 108 可乐 4 1 4000 阅读全文
posted @ 2024-09-28 14:15 LilyFlower 阅读(56) 评论(0) 推荐(0) 编辑
摘要:投票算法 Boyer-Moore 算法描述 Boyer-Moore 投票算法是一种用来在线性时间内找到数组中出现次数超过一半(即多数元素)的算法。这个算法非常高效,因为它只需要一次遍历数组,并且使用常数级别的额外空间。 leetcode169题: 多数元素 算法思路 维护一个候选元素和一个计数器来实 阅读全文
posted @ 2024-09-25 14:46 LilyFlower 阅读(94) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示