const arr1 = [1,4,5,8,12,16,18] function binarySearch(arr, num) { let len = arr.length let leftIndex = 0 let rightIndex = len - 1 while(leftIndex <= r ...
分类:
Web程序 时间:
2020-08-20 19:27:23
阅读次数:
122
<?php /** * @param array $arr 递增数字数组 * @param int $number 待查找的数字 * @return int 返回找到的键 */ function binary_search($arr,$number){ // 非数组或数组为空,返回-1 if(!is ...
分类:
其他好文 时间:
2020-08-20 19:22:52
阅读次数:
94
1.常见的时间复杂度和空间复杂度有哪些?O(1):constantcomplexity:constant常数复杂度O(logn):对数复杂度O(n):线性时间复杂度O(n^2):平方O(N^3):立方O(2^n):指数O(n!):阶乘2.时间复杂度和空间复杂度的重要性随着现在存储空间的便宜,很多情况下,我们是愿意用空间复杂度来换取时间复杂度的,因为内存,磁盘等这些和程序算法比起来,真的是太便宜的,
分类:
其他好文 时间:
2020-08-18 13:41:29
阅读次数:
80
凉宫春日的叹息 挺好的思维题。 题目描述 给定一个数组,将其所有子区间的和从小到大排序,求第 \(k\) 小的是多少。 输入格式 第一行两个数 \(n\) , \(k\) ,表示数组的长度和 \(k\); 第二行有 \(n\) 个数,第$i$个是$a[i]$,表示给定的数组。 输出格式 仅一个数,表 ...
分类:
其他好文 时间:
2020-08-17 17:22:17
阅读次数:
63
对于这题,我们发现1和3点是同类点,因此其实就是二分图染色,如果只有一个连通块,那么判断一下是否是二分图就行。 现在有多个连通块,因此我们还要判定一下能否把这些2分给这么多个连通块 因此可以做一下背包,先存一下每个连通图的信息,之后dp,除了维护可达性,还要维护一个把图的哪部分分给2 如果最后不能分 ...
分类:
其他好文 时间:
2020-08-15 22:35:03
阅读次数:
76
问题: 二分查找,给定一个已排序的数组,和一个目标值target 在该数组中找到target的index返回,若没找到,则返回-1。 Example 1: Input: nums = [-1,0,3,5,9,12], target = 9 Output: 4 Explanation: 9 exist ...
分类:
其他好文 时间:
2020-08-12 15:53:00
阅读次数:
60
和整数二分不同,浮点数不存在由于(整数)取整导致的边界问题,每次二分区间严格减半, 因此比整数二分简单的多,每次更新边界时直接让r = mid或l = mid即可。 看一道题,acwing790.数的三次方根 浮点数二分除了更新区间和浮点数不同,还有就是二分终止条件,一般有两种写法,一种就是当前区间 ...
分类:
其他好文 时间:
2020-08-11 17:29:54
阅读次数:
74
https://ac.nowcoder.com/acm/contest/1062/B 【题目】 给出一张n×n(n≤100)的国际象棋棋盘,其中被删除了一些点,问可以使用多少1*2的多米诺骨牌进行掩盖。 【题意】 题意简单,不做多说明,多米诺骨牌可以理解为长方形的方块。 【题解】 仔细一想,可以发现 ...
分类:
其他好文 时间:
2020-08-11 15:55:41
阅读次数:
74
一、 public class BinarySeachTest { public static void main(String[] args) { int[] arr = new int[]{22,54,88,97,105,112}; System.out.println(binarySeach( ...
分类:
编程语言 时间:
2020-08-11 00:26:19
阅读次数:
77
懒得写题解了,就在这里放吧。。 不建议你们当成题解看,因为不是认真写的题解。 有的题会去补详细题解。 CF704D 题 先全染贵的那个颜色,然后看最多能染几个便宜的颜色。 建二分图,左边行,右边列,加个上下界限制,最大流就是最多能染几个便宜的颜色。 P3558 题 简单 DP 首先第一个数不会变,所 ...
分类:
其他好文 时间:
2020-08-09 09:22:58
阅读次数:
73