递归(难点) 自己调用自己 递归的入口 递归的出口: return 递归的循环条件:动 循环树形结构 二分法查找 核心思想: 掐头结尾取中间. 前提条件: 有序. ...
分类:
其他好文 时间:
2018-09-20 21:17:18
阅读次数:
178
1.题意: 给定一系列长度的电缆,需要截取成等长的K份,求所能截取的最大长度值 2.题目思路: 这道题很明显是需要处理精度,二位小数,把问题简化,乘100化成整数,0.01变成1,求答案时只需要再除以100 所能截取的最大长度值原本是在1.00~max(这里的max值是给定一系列长度的电缆的电缆长度 ...
分类:
其他好文 时间:
2018-09-17 21:29:47
阅读次数:
192
sqrt函数的实现主要有三种方式: 1. 二分法 2. 牛顿法 3. 卡马克方法 这里主要介绍高效的卡马克方法。卡马克方法起源于《雷神之锤III竞技场》中使用的平方根倒数速算法,下列代码是平方根倒数速算法在《雷神之锤III竞技场》源代码中的应用实例。示例剥离了C语言预处理器的指令,但附上了原有的注释 ...
分类:
其他好文 时间:
2018-09-15 01:18:37
阅读次数:
176
思路: 这道题要求的时间复杂度是O(log(m+n)), 所以想到的肯定是二分法。但是这道题因为有两个array没有办法直接二分。首先,先判断是基数还是偶数,来确定需要查找第K个数。在查找第K个数的时候,主要思路是各分配k/2个数给两个数组, 看每个数组k/2之前的那个数,小的那个可以确定第K个数不 ...
分类:
其他好文 时间:
2018-09-13 10:19:46
阅读次数:
146
#arr 有序数组#m 需要比较的值#left 左边最小值索引#right 右边最大值索引def bin(arr,m,left,right): # left=0 # right=len(arr)-1 try: midian=(left+right+1)//2 #python取整 #midian=in ...
分类:
其他好文 时间:
2018-09-10 13:34:29
阅读次数:
151
def bin_search(list,item): low=0 high=len(list)-1 while low<=high: #4 mid = round(((low + high) / 2)+0.1,0) #1 #mid=(low + high) / 2 guess=list[int(mi ...
分类:
编程语言 时间:
2018-09-09 18:10:36
阅读次数:
219
问题描述: 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 思路:由于数组是有序数组,所以只需用二分法构造即可,mid即为根节点,0:mid 的中间点为左子树的根节点,mid+1:末尾 ...
分类:
编程语言 时间:
2018-09-09 16:47:56
阅读次数:
165
第一次开始学算法就是二分法了吧,那时候就是感觉神奇+有趣,嗯,还是记录一下吧 推荐:算法4讲的内容,很清楚的 ...
分类:
其他好文 时间:
2018-09-09 14:47:29
阅读次数:
166
```C++ double sqrt_bin(double n){ if(n 0.000001){ if(mid*mid 0.0000001){ x1 = 0.5 * (x0 + n / x0); x0 = x1; } return x0; } ``` ...
分类:
其他好文 时间:
2018-09-04 00:17:14
阅读次数:
224
思考扩展成 立方根 4方根,5方根 ...... 即将二分法改为分段的多个区间。 ...
分类:
其他好文 时间:
2018-09-01 14:02:24
阅读次数:
120