随笔分类 - 数据结构与算法 / 二分查找
摘要:1.题目 题目地址(81. 搜索旋转排序数组 II - 力扣(LeetCode)) https://leetcode.cn/problems/search-in-rotated-sorted-array-ii/ 题目描述 已知存在一个按非降序排列的整数数组 nums ,数组中的值不必互不相同。 在传
阅读全文
摘要:1.题目 题目地址(33. 搜索旋转排序数组 - 力扣(LeetCode)) https://leetcode.cn/problems/search-in-rotated-sorted-array/ 题目描述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预
阅读全文
摘要:1.题目 题目地址(278. 第一个错误的版本 - 力扣(LeetCode)) https://leetcode.cn/problems/first-bad-version/ 题目描述 你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于
阅读全文
摘要:1. 题目 题目地址(852. 山脉数组的峰顶索引 - 力扣(LeetCode)) https://leetcode.cn/problems/peak-index-in-a-mountain-array/?envType=study-plan-v2&envId=primers-list 题目描述 符
阅读全文
摘要:0.参考 参考链接:二分查找的左闭右开和左闭右闭写法 参考链接:二分查找——区间开闭性 参考链接:二分查找的细节(左闭右闭、左闭右开、左开右闭)及其两段性 具体到代码上,二分查找时区间的左右端取开区间还是闭区间在绝大多数时候都可以,因此有些初学者会容易搞不清楚如何定义区间开闭性。 这里我提供两个小诀
阅读全文
摘要:0.题目 题目描述 儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。 为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足: 形状是正方形,边长是整数 大小相同 例如一
阅读全文
摘要:0.题目 1.题解 1.1 二分法 思路 核心思路是用以下代码保证精度,题目要求我们保留7位精度,我们为保证可以向后推移两位,这里算9位小数(由于mid为l和r不断地/2, 最后会变成一个越来越小的小数,满足我们的精度) double eps = 1e-9; while (l + eps < r)
阅读全文
摘要:0.题目 题目描述 一年一度的「跳石头」比赛又要开始了! 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 N 块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。 为了提
阅读全文
摘要:1.题目介绍 假设你是一家合金制造公司的老板,你的公司使用多种金属来制造合金。现在共有 n 种不同类型的金属可以使用,并且你可以使用 k 台机器来制造合金。每台机器都需要特定数量的每种金属来创建合金。 对于第 i 台机器而言,创建合金需要 composition[i][j] 份 j 类型金属。最初,
阅读全文
摘要:1.题目介绍 2.题解 2.1 二分查找(递归实现) 思路 利用递归+二分查找实现对于目标数target索引位置(存在)或者插入位置的索引(不存在) 1.递归返回条件: left > right,在通过二分法寻找到最接近target的值nums[mid]依旧不等于target,也就是left ==
阅读全文
摘要:1.题目介绍 给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数,citations 已经按照 升序排列 。计算并返回该研究者的 h 指数。 h 指数的定义:h 代表“高引用次数”(high citations),一名科研人员的 h 指数是
阅读全文
摘要:1.题目介绍 给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义:h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她)至少发表了 h 篇论文,并且每篇论文 至少
阅读全文
摘要:1.题目介绍 1.1 题目描述 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入:strs = ["flower","flow","flight"] 输出:"fl" 示例 2: 输入:strs = ["dog","racecar","car"
阅读全文