
#二分
偶尔写博客
偶尔记录下自己的学习情况,我很菜。
展开
-
旋转数组的最小数字(二分查找)
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。 示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,1]输出:0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/xuan-zhuan-shu-zu-de-zui-xiao-shu-.原创 2020-07-22 23:18:28 · 224 阅读 · 0 评论 -
两数之和 II - 输入有序数组(二分查找 / 双指针)
给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。示例:输入: numbers = [2, 7, 11, 15], target = 9输出: [1,2]解释: 2 与 7 之和等于目标数 9 。因此 ind...原创 2020-07-20 11:00:08 · 240 阅读 · 0 评论 -
搜索插入位置(裸二分)
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/se原创 2020-07-17 17:15:29 · 139 阅读 · 0 评论 -
将有序数组转换为二叉搜索树(二分+递归)
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。示例:给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树: 0 / \ -3 9 / /-10 5来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems...原创 2020-07-03 13:28:49 · 182 阅读 · 0 评论 -
长度最小的子数组(暴力/动态规划)
给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组,并返回其长度。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。进阶:如果你已经完成了O(n) 时间复杂度的解法, 请尝试 O(n log n) 时间复杂度的解法。来源:力扣(LeetCode)链接:https://leetcode-cn.com/原创 2020-06-28 15:53:16 · 372 阅读 · 0 评论 -
一元三次方程(二分查找)
之前做过一到这种题目,但忘记把它写入博客,这里记录一下,代码和题目要求来自于次#include <stdio.h>#include <math.h>int main(){ double a = -10; double b = 10; double c; double f1, f2, f3; do { f1 = 2*pow(a, 3) - 4*pow(a, 2) + 3*a - 6; // 得出左端项的值f1 f2 = 2*pow(b, 3)原创 2020-05-12 10:55:16 · 547 阅读 · 0 评论