楔子 如果有这样一个列表,让你从这个列表中找到66的位置,你要怎么做? l = [2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,83,88] 你说,so easy! l.index(66)... 我们之所以用ind ...
分类:
编程语言 时间:
2019-09-16 19:16:00
阅读次数:
82
/** * 简单实现阶乘 * @param n * @return */ public static double getFactorial(double n) { for(double i = n - 1;i > 0;i-- ){ n *= i; } return n; } /** * 求阶乘 *... ...
分类:
编程语言 时间:
2019-09-14 12:02:08
阅读次数:
113
Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand. (i.e., [0,1,2,4,5,6,7] might become [4,5,6,7,0,1,2]). F ...
分类:
其他好文 时间:
2019-09-13 11:12:10
阅读次数:
97
题目:数字在排序数组中出现的次数。输入为一个排序数组和一个数字。 注:一般解决方式为利用字典统计各个数字出现的次数或者用二分法查找到其中一个目标数字,然后前后再前后查找。这两种方式的时间复杂度都为O(n)。 O(lgn)的方法为使用两次二分查找,第一次查找目标数字第一次出现的位置,第二次查找其最后一 ...
分类:
编程语言 时间:
2019-09-10 21:00:51
阅读次数:
93
二分法开根号,通过二分法在[0,n]之间寻找合适的数(n>1时),而n<1时,需要将上限设为1,即使用二分法在[0,1]之间寻找合适的数,最终达到一定精度跳出循环,但迭代很慢。 牛顿法可以快速迭代(牛顿法介绍) ...
分类:
其他好文 时间:
2019-09-05 23:02:01
阅读次数:
111
一元三次方程,二分法求解,根据题目要求根的范围【 100,100】 考虑在什么样的区间内会有根,由于题目给出了所有的根都在-100到100之间, 且根与根之间的差不小于1的限制条件,可知, 在[ 100, 99],[ 99, 98],…[99,100],[100,100]这201个区间内, 每个区间 ...
分类:
其他好文 时间:
2019-09-05 13:25:16
阅读次数:
79
# 二分法查找算法,必须处理有序的算法列表 """ l = [2, 3, 5, 10, 15, 16, 18, 22, 26, 30, 32, 35, 41, 42, 43, 55, 56, 66, 67, 69, 72, 76, 82, 83, 88] def find(l,aim): mid_i... ...
分类:
编程语言 时间:
2019-09-01 21:51:05
阅读次数:
95
题意略。 思路: 这一发A得实在是难能可贵。因此我要记录一下。 首先这个题很明显是个数位dp,其难点在于如何知道填到当前这一位时,我的最长上升子序列是多长。 如果是一个简单的求最长上升子序列的题,我们一般会在一个数组中使用二分法,每次查找新来的这个数字在这个数组中应该排什么位置。 但是我们记录状态不 ...
分类:
其他好文 时间:
2019-08-31 17:37:47
阅读次数:
67
三分法 三分法一般用来求某一个单峰函数的最值。 和二分的区别 二分是要求某个问题满足单调性,只有这样才可以二分。 也就是说:二分法是适用于单调函数的,而三分法则适用于单峰函数。 实现:给定上下界,每次将上下界这个区间平均分成三份,取两个三等分点比较,并缩小范围。 代码: cpp while(r l ...
分类:
其他好文 时间:
2019-08-27 23:20:33
阅读次数:
110
Leetcode之二分法专题-374. 猜数字大小(374. Guess Number Higher or Lower) 我们正在玩一个猜数字游戏。 游戏规则如下:我从 1 到 n 选择一个数字。 你需要猜我选择了哪个数字。每次你猜错了,我会告诉你这个数字是大了还是小了。你调用一个预先定义好的接口 ...
分类:
其他好文 时间:
2019-08-27 09:14:13
阅读次数:
87