算法
木小草
http://www.muxiaocao.cn/me
展开
-
这是一个传奇的算法(平方根倒数速算法)
我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经常调用的函数呢?虽然有可能你平时没有想过这个问题,不过正所谓是“临阵磨枪,不快也光”,你“眉头一皱,计上心来”,这个不是太简单了嘛,用二分的方法,在一个区间中,每次拿中间数的平方来试验,如果大了,就再试左区间的中间转载 2016-03-20 15:15:08 · 1293 阅读 · 0 评论 -
给定一个字符串,求第一个不重复的字符
如果有暴力解法,时间复杂度必然为O(n2)O(n^2),而要达到O(n2)O(n^2),关键就是,利用所有字符的ASCII码都是在0~255之间,声明一个标记数组存放字符串的信息。方法一:当字符串可以重复访问的时候,标记数组存放的是每个字符出现的次数。代码如下:import java.util.Scanner;/** * 给定一个字符串,求第一个不重复的字符 abbcad -> c * @原创 2016-03-19 23:24:20 · 3150 阅读 · 0 评论 -
阿里面试算法题-二维递增数组的查找
阿里面试算法题-二维递增数组的查找 注意:转载请说明,来自转自itboy-木小草,尊重原创,尊重技术。题目: 一个n*m的二维数组,每一行从左到右依次递增,每一列从上到下依次递增。问:给你一个数字,如何能快速的输出他在数组中的位置。 /** * 一个n*m的二维数组,每一行从左到右依次递增,每一列从上到下依次递增。 * 问:给你一个数字,如何能快速的输出他在数组原创 2016-03-25 22:47:49 · 850 阅读 · 0 评论 -
阿里面试算法题-1-100随机替换两个为零,如何快速找出
阿里面试算法题-二维递增数组的查找 注意:转载请说明,来自转自itboy-木小草,尊重原创,尊重技术。题目: 一个随机放有1-100的数组,随机选择两个数变为0。 设计一个算法,能很快的找到这两个数。 注意:不能开辟另一个数组,不可排序(这是面试官的要求) /** * 核心思想就是: * 0, 3, 5, 8, 6, 4, 1, 9, 7, 0原创 2016-03-28 22:16:11 · 1461 阅读 · 1 评论