码迷,mamicode.com
首页 >  
搜索关键字:二分查找    ( 2961个结果
【剑指offer】数字在排序数组中出现的次数
我做这道题,是先用二分查找找到该数字,而后再遍历其前后相同的数字,统计次数。这种做法的平均时间复杂度为O(logn),最坏情况下为O(n),剑指offer上给的思路是两次用二分查找分别找到该数字第一次和最后一次出现的位置,这样的时间复杂度平均和最坏都是O(logn),稍好些》 下面贴上我按照自己思路写的代码:...
分类:其他好文   时间:2014-06-07 01:19:45    阅读次数:197
项目安排
项目安排 题目描述: 小明每天都在开源社区上做项目,假设每天他都有很多项目可以选,其中每个项目都有一个开始时间和截止时间,假设做完每个项目后,拿到报酬都是不同的。由于小明马上就要硕士毕业了,面临着买房、买车、给女友买各种包包的鸭梨,但是他的钱包却空空如也,他需要足够的money来充实钱包。万能的网友麻烦你来帮帮小明,如何在最短时间内安排自己手中的项目才能保证赚钱最多(注意:做项目的...
分类:其他好文   时间:2014-06-05 07:49:00    阅读次数:206
java 冒泡排序 二分查找
下面这个程序是先定义一个整型数组,然后将其中的元素反序赋值,再用冒泡排序进行排序以后用二分查找来查找其中是否有某个数,返回值为-1时表示这个数可能小于这个数组的最小值或大小这个数组的最大值,-2表示这个数比这个数组的最小值大,最大值小,但是数组中不包含这个数,代码如下: package com.jl...
分类:编程语言   时间:2014-05-26 07:02:37    阅读次数:347
笔试算法题(30):从已排序数组中确定数字出现的次数 & 最大公共子串和最大公共序列(LCS)
出题:在已经排序的数组中,找出给定数字出现的次数;分析:解法1:由于数组已经排序,所以可以考虑使用二分查找确定给定数字A的第一个出现的位置m和最后一个出现的位置n,最后m-n+1就是A出现的次数;使用二分查找可疑快速确定给定数字,但是如果确定其左右范围则比较麻烦,对编码细节要求较高;解法2:Hash...
分类:其他好文   时间:2014-05-26 02:54:22    阅读次数:1285
二分查找
二分查找也是分治策略和递归一个重要的实例。对于一个有序的数组,二分查找的时间复杂度是O(logn)int binarysearch(int a[],int s,int e,int k){ int mid =(s+e)/2; if(k==a[mid]) return mid;...
分类:其他好文   时间:2014-05-26 02:23:44    阅读次数:170
Sqrt(x)
Implementint sqrt(int x).Compute and return the square root ofx.思路:二分查找法解决这道题class Solution {public: int sqrt(int x) { if(x1e-6) { ...
分类:其他好文   时间:2014-05-25 19:35:33    阅读次数:225
用php描述二分查找法
//二分查找$arr = array(0,1,2,3,4,5,6,7,8,9); function bin_sch($array, $low, $high, $k){ if ($low <= $high){ $mid = intval(($low+$high)/2); ...
分类:Web程序   时间:2014-05-25 19:05:46    阅读次数:338
最长递增子序列
最长递增子序列 问题: 求一个一维数组中最长递增子序列的长度。 解法1: 很明显用动态规划的算法,选取下面的阶段(这种选法极为常见),可使阶段间的关系具有无后效性。 阶段:在所有以元素k结尾的子数组中,选出其中的最长递增子序列,k=1,2...n。 状态:以元素k结尾的最长递增子序列中只有一个最长的递增子序列。 决策:决定元素k结尾的最长递增子...
分类:其他好文   时间:2014-05-25 04:37:56    阅读次数:193
LeetCode:3Sum
题目:         Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique  triplets in the array which gives the sum of zero. Note: Elements...
分类:其他好文   时间:2014-05-25 00:39:37    阅读次数:343
算法——基础篇——二分查找
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。     首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一...
分类:其他好文   时间:2014-05-24 17:17:38    阅读次数:237
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!