问题描述 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [-1, -1]。 示例 1: 输入: nums = [5,7,7,8,8,10], tar ...
分类:
编程语言 时间:
2020-09-17 21:50:55
阅读次数:
30
topic:ThreeSum 目标:用于统计一个数组中和为 0 的三元组数量,每个三元组都不重复 方法 方法一:最简单方法 方法二:先排序,对两元素求和,再用二分查找寻找相反数 方法三:先排序,再用左右两指针查找一个数的相反数 方法一:最简单方法 public class ThreeSumSlow ...
分类:
编程语言 时间:
2020-09-17 18:58:54
阅读次数:
29
?分查找. 每次能够排除掉一半的数据. 查找的效率非常高. 但是局限性比较大. 必须是有序列才可以使用二分查找 要求: 查找的序列必须是有序序列. 三种方法: 1.纯算法 lst = [11, 22, 33, 44, 55, 66, 77, 88, 99, 123, 234, 345, 456, 5 ...
分类:
编程语言 时间:
2020-09-17 18:43:41
阅读次数:
31
实现 int sqrt(int x) 函数 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1: 输入: 4 输出: 2 示例 2: 输入: 8 输出: 2 说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数 ...
分类:
其他好文 时间:
2020-09-17 16:12:07
阅读次数:
26
安装部署: RuoYi后端部署(可省略2、3步骤) 1)参考文档 2)Redis下载及安装说明 注意事项: 一定要下载msi,否则免安装zip配置特别麻烦,安装时一定要勾选add path,不知道在哪勾选看到勾选框勾选就行了。 启动cmd时,一定要用管理员模式打开。 3)Node.js下载 4)ec ...
分类:
其他好文 时间:
2020-09-17 15:37:57
阅读次数:
32
解题思路: 排序数组中的搜索问题,首先可以想到二分法解决。 根据题意,数组可以按照下面的规则进行划分为两部分。 左子数组:nums[i]=i; 右子数组:nums[i]!=i; 缺失的数字等于“右子数组的首位元素”对应的索引;因此考虑使用二分法查找“由子数组的首位元素”。 1 int missing ...
分类:
其他好文 时间:
2020-09-17 13:50:32
阅读次数:
32
K.Color Graph 题意:给出一个由n个点和m 条边组成的无向图,保证无自环无重边,初始时所有的边都是白色的,每一次都可以选择一条边把它染成红色,不过需要保证不存在红色的奇环,现在要求尽可能多的将白边染成红色,问最多能染多少条边 题解: 看到奇环首先想到二分图:所以这道题就转化成了一个二分图 ...
分类:
其他好文 时间:
2020-09-17 13:00:39
阅读次数:
40
####什么是二分图? 二分图,就是能把图内所有元素划分成两个集合,且集合内没有边相连的图 ####二分图有什么性质? 如果图中有奇数环,则该图不是二分图 染色法求二分图 #include <cstring> #include <iostream> #include <algorithm> usin ...
分类:
其他好文 时间:
2020-09-16 12:29:33
阅读次数:
29
分治法代码实现 1、猜数游戏——二分搜索技术 //program 3-1 #include<iostream> #include<cstdlib> #include<algorithm> using namespace std; const int M=10000; int x,n,i; int s ...
分类:
编程语言 时间:
2020-09-16 12:21:41
阅读次数:
37
/** *@param 参数一:查找的数组 参数二:要找的值 * */ public static int dichotomia(int[] arry,int key) { int min = 0; int max = arry.length() - 1; int mid = (min + max) ...
分类:
其他好文 时间:
2020-09-15 21:24:27
阅读次数:
45