随笔分类 -  LeetCode

摘要:二分查找 二分查找也称为折半查找,每次都能将查找区间减半,这种折半特性的算法时间复杂度为 O(logN)。 中值计算 有两种计算中值 m 的方式: m = (l + h) // 2 m = l + (h l) // 2 l + h 可能出现加法溢出,也就是说加法的结果大于整型能够表示的范围。但是 l 阅读全文
posted @ 2020-04-03 14:34 LittlePanger 阅读(133) 评论(0) 推荐(0)
摘要:贪心算法 保证每次操作都是局部最优的,并且最后得到的结果是全局最优的。 455. 分发饼干 "455. 分发饼干" 题目描述:每个孩子都有一个满足度,每个饼干都有一个大小,只有饼干的大小大于等于一个孩子的满足度,该孩子才会获得满足。求解最多可以获得满足的孩子数量。 示例 : 解法 : 贪心问题。优先 阅读全文
posted @ 2020-04-03 14:33 LittlePanger 阅读(154) 评论(0) 推荐(0)
摘要:双指针 双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。 167.两数之和 II 输入有序数组 "两数之和 II 输入有序数组" 示例: 解法: 使用双指针,一个指针指向值较小的元素,一个指针指向值较大的元素。指向较小元素的指针从头向尾遍历,指向较大元素的指针从尾向头遍历。 如果两 阅读全文
posted @ 2020-04-03 14:32 LittlePanger 阅读(184) 评论(0) 推荐(0)
摘要:1 前言 算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。那么我们应该如何去衡量不同算法之间的优劣呢? 主要还是从算法所占用的「时间」和「空间」两个维度去考量。 时间维度:是指 阅读全文
posted @ 2020-04-03 14:30 LittlePanger 阅读(177) 评论(0) 推荐(0)