- 浏览: 630471 次
- 性别:
- 来自: 北京
最新评论
本贴所有回贴必须含有一道面试题
否则会投反对票.
引用其它贴子的
要给出出处地址.
问题是对于无序数组,怎么二分?难道你先排序?
呵呵 同问 只能假设他排好了。
问题是对于无序数组,怎么二分?难道你先排序?
如果说编码最快速的话,一行代码搞定,价格便宜量又足,如果说性能还没有测试过
String s="abcd(efg)hi(jk)lmn(opp)q".replaceAll("\\(|\\)", ",");
n大的时候,虽然会和溢出,你不会保留最末几位么?换成位运算,怎么会慢?
这个些数字放到集合中有什么要求?如果是有序放到集合中,我会使用折半查找的思想来做,必如先找到index = 24的数字,判断是小于25,还是等于25。
如果小于25则在前25个数字中,等于25则在后25个数字中找
如果是无序放上的,也不知道有什么好方法了,先排一次序?还是依次比较
呵呵,还请指教正确解答
对新数据集合里的元素求和,然后用原来的和减去这个数就得到结果了。
事实上,还是二分法比较快,请看我的实验代码,大家有兴趣的话可以跑跑看.
C
堆栈
逆序扫描字符串
遇到')' 开始压栈,先压一个逗号;直到遇到'(' ,压栈停止,出栈并打印
这个些数字放到集合中有什么要求?如果是有序放到集合中,我会使用折半查找的思想来做,必如先找到index = 24的数字,判断是小于25,还是等于25。
如果小于25则在前25个数字中,等于25则在后25个数字中找
如果是无序放上的,也不知道有什么好方法了,先排一次序?还是依次比较
呵呵,还请指教正确解答
对新数据集合里的元素求和,然后用原来的和减去这个数就得到结果了。
呵呵,昨天晚上走的时候想到上面的方法的
这个些数字放到集合中有什么要求?如果是有序放到集合中,我会使用折半查找的思想来做,必如先找到index = 24的数字,判断是小于25,还是等于25。
如果小于25则在前25个数字中,等于25则在后25个数字中找
如果是无序放上的,也不知道有什么好方法了,先排一次序?还是依次比较
呵呵,还请指教正确解答
(1+50)*50/2 - 集合元素和
否则会投反对票.
引用其它贴子的
要给出出处地址.
评论
40 楼
waldenlake
2008-03-07
bcccs 写道
waldenlake 写道
如果非要求和的话 是要遍历整个数组的 然后才能取最末几位。(位运算不熟:p)
折半的话就不需遍历整个数组
折半的话就不需遍历整个数组
问题是对于无序数组,怎么二分?难道你先排序?
呵呵 同问 只能假设他排好了。
39 楼
bcccs
2008-03-07
waldenlake 写道
如果非要求和的话 是要遍历整个数组的 然后才能取最末几位。(位运算不熟:p)
折半的话就不需遍历整个数组
折半的话就不需遍历整个数组
问题是对于无序数组,怎么二分?难道你先排序?
38 楼
liquidthinker
2008-03-07
7thbyte 写道
用最快速的方式取出形如
"abcd(efg)hi(jk)lmn(opp)q"
字符串中每个括号里的字串,用逗号分隔
"abcd(efg)hi(jk)lmn(opp)q"
字符串中每个括号里的字串,用逗号分隔
如果说编码最快速的话,一行代码搞定,价格便宜量又足,如果说性能还没有测试过
String s="abcd(efg)hi(jk)lmn(opp)q".replaceAll("\\(|\\)", ",");
37 楼
waldenlake
2008-03-07
如果非要求和的话 是要遍历整个数组的 然后才能取最末几位。(位运算不熟:p)
折半的话就不需遍历整个数组
折半的话就不需遍历整个数组
36 楼
bcccs
2008-03-07
waldenlake 写道
和相减的时间复杂度是O(n) 二分的asl(基本上也能看成时间复杂度)是log2(n+1)-1(2是下标),
n较大时二分比求和减快
n较大时二分比求和减快
n大的时候,虽然会和溢出,你不会保留最末几位么?换成位运算,怎么会慢?
35 楼
waldenlake
2008-03-07
和相减的时间复杂度是O(n) 二分的asl(基本上也能看成时间复杂度)是log2(n+1)-1(2是下标),
n较大时二分比求和减快
n较大时二分比求和减快
34 楼
lingzantia
2008-03-07
a_lion 写道
卒子99 写道
黑暗浪子 写道
1到50共有五十个数字,随即去掉一个数字,剩下49个放在一个数据集合中(可能是数组,可能是list,更有可能是set)
写一段代码,把那个去掉的数字找出来。
要求:效率最高,查找速度最快。
上海sungard公司出的
写一段代码,把那个去掉的数字找出来。
要求:效率最高,查找速度最快。
上海sungard公司出的
这个些数字放到集合中有什么要求?如果是有序放到集合中,我会使用折半查找的思想来做,必如先找到index = 24的数字,判断是小于25,还是等于25。
如果小于25则在前25个数字中,等于25则在后25个数字中找
如果是无序放上的,也不知道有什么好方法了,先排一次序?还是依次比较
呵呵,还请指教正确解答
对新数据集合里的元素求和,然后用原来的和减去这个数就得到结果了。
事实上,还是二分法比较快,请看我的实验代码,大家有兴趣的话可以跑跑看.
public static void main(String[] args) { int[] all = new int[10000]; int[] sub = new int[9999]; for(int i=0,j=0; i<10000; i++){ all[i] = i+1; if(i != 30){ sub[j] = i+1; j++; } } Date begin_1 = new Date(); int sum_all = 0; int sum_sub = 0; for(int i=0; i<sub.length; i++){ sum_all += all[i]; sum_sub += sub[i]; } sum_all += all[all.length-1]; System.out.println("number is: " + (sum_all-sum_sub) + " all time is: " + (new Date().getTime()-begin_1.getTime())); Date begin_2 = new Date(); int number = 0; int a_all = 0; int a_sub = 0; int low = 0; int high = sub.length-1; for(int i=sub.length/2;;){ if(sub[i] == all[i]){ low = i; i = (i + high)/2; if((high-low) <= 1){ number = all[i+1]; break; } }else{ high = i; i = (i + low)/2; if((high-low) <= 1){ number = all[i+1]; break; } } } System.out.println("number is: " + number + " all time is: " + (new Date().getTime()-begin_2.getTime())); }
33 楼
NicholasBugs
2008-03-07
xyz20003 写道
抢我们饭碗哦.T_T.
写错了,下边的是笔试题,补一个面试的:
请简述MVC的组成部分。
请问上面的程序输入的结果是:
A:Hello World B:空字符串 C:Hello D:运行出错。
写错了,下边的是笔试题,补一个面试的:
请简述MVC的组成部分。
public class Test { public static StringBuffer doSomething(StringBuffer buff) { buff = new StringBuffer(); buff.append("Hello World"); return buff; } public static void main(String[] args) { StringBuffer buff = new StringBuffer(); buff.append("Hello"); doSomething(buff); System.out.println(buff); } }
请问上面的程序输入的结果是:
A:Hello World B:空字符串 C:Hello D:运行出错。
C
32 楼
NicholasBugs
2008-03-07
1,抽象类和接口的区别
2,equals()和hashcode()方法的关系,如果修改了一个类的equals()方法,它的hashcode()方法是否一定要修改?
2,equals()和hashcode()方法的关系,如果修改了一个类的equals()方法,它的hashcode()方法是否一定要修改?
31 楼
lgn21st
2008-03-07
把Baidu的Logo换成Google的!
30 楼
blog4Leon
2008-03-07
7thbyte 写道
用最快速的方式取出形如
"abcd(efg)hi(jk)lmn(opp)q"
字符串中每个括号里的字串,用逗号分隔
"abcd(efg)hi(jk)lmn(opp)q"
字符串中每个括号里的字串,用逗号分隔
堆栈
逆序扫描字符串
遇到')' 开始压栈,先压一个逗号;直到遇到'(' ,压栈停止,出栈并打印
29 楼
programming
2008-03-07
javascript中的面向对象
28 楼
chengren
2008-03-07
问2个比较简单的问题吧。。。
1.常用的数据库锁机制有几种,分别优缺点是什么。
2.对java同步机制怎么理解的。
俺们是业务系统要求比较低,hoho
1.常用的数据库锁机制有几种,分别优缺点是什么。
2.对java同步机制怎么理解的。
俺们是业务系统要求比较低,hoho
27 楼
ssuupv
2008-03-07
你在项目碰到spring多数据源各种情况,及解决方案
26 楼
锁上门睡觉
2008-03-07
hibernate 和 Spring jdbctemplate 做比较一下
25 楼
dearwolf
2008-03-07
我生从何来死往何处,我为什么会出现在这个世界上,我的出现对这个世界来说意味着什么……
24 楼
卒子99
2008-03-07
a_lion 写道
卒子99 写道
黑暗浪子 写道
1到50共有五十个数字,随即去掉一个数字,剩下49个放在一个数据集合中(可能是数组,可能是list,更有可能是set)
写一段代码,把那个去掉的数字找出来。
要求:效率最高,查找速度最快。
上海sungard公司出的
写一段代码,把那个去掉的数字找出来。
要求:效率最高,查找速度最快。
上海sungard公司出的
这个些数字放到集合中有什么要求?如果是有序放到集合中,我会使用折半查找的思想来做,必如先找到index = 24的数字,判断是小于25,还是等于25。
如果小于25则在前25个数字中,等于25则在后25个数字中找
如果是无序放上的,也不知道有什么好方法了,先排一次序?还是依次比较
呵呵,还请指教正确解答
对新数据集合里的元素求和,然后用原来的和减去这个数就得到结果了。
呵呵,昨天晚上走的时候想到上面的方法的
23 楼
wolfbrood
2008-03-07
<div class='quote_title'>7thbyte 写道</div><div class='quote_div'><div class='quote_title'>卒子99 写道</div><div class='quote_div'><div class='quote_title'>黑暗浪子 写道</div><div class='quote_div'>1到50共有五十个数字,随即去掉一个数字,剩下49个放在一个数据集合中(可能是数组,可能是list,更有可能是set) <br/>写一段代码,把那个去掉的数字找出来。 <br/>要求:效率最高,查找速度最快。 <br/>上海sungard公司出的 <br/></div><br/>这个些数字放到集合中有什么要求?如果是有序放到集合中,我会使用折半查找的思想来做,必如先找到index = 24的数字,判断是小于25,还是等于25。 <br/>如果小于25则在前25个数字中,等于25则在后25个数字中找 <br/><br/><br/>如果是无序放上的,也不知道有什么好方法了,先排一次序?还是依次比较 <br/><br/>呵呵,还请指教正确解答</div><br/><br/>(1+50)*50/2 - 集合元素和</div>我和你的做法一样<br/><p> </p>
22 楼
7thbyte
2008-03-07
卒子99 写道
黑暗浪子 写道
1到50共有五十个数字,随即去掉一个数字,剩下49个放在一个数据集合中(可能是数组,可能是list,更有可能是set)
写一段代码,把那个去掉的数字找出来。
要求:效率最高,查找速度最快。
上海sungard公司出的
写一段代码,把那个去掉的数字找出来。
要求:效率最高,查找速度最快。
上海sungard公司出的
这个些数字放到集合中有什么要求?如果是有序放到集合中,我会使用折半查找的思想来做,必如先找到index = 24的数字,判断是小于25,还是等于25。
如果小于25则在前25个数字中,等于25则在后25个数字中找
如果是无序放上的,也不知道有什么好方法了,先排一次序?还是依次比较
呵呵,还请指教正确解答
(1+50)*50/2 - 集合元素和
21 楼
7thbyte
2008-03-07
用最快速的方式取出形如
"abcd(efg)hi(jk)lmn(opp)q"
字符串中每个括号里的字串,用逗号分隔
"abcd(efg)hi(jk)lmn(opp)q"
字符串中每个括号里的字串,用逗号分隔
发表评论
-
vlc 必要的参数
2021-08-31 17:18 0vlc.exe -vvv -Idummy "rt ... -
grafana+mysql 页面设计
2019-02-25 08:51 0前提 1。主要是SELECT 。 2。使用mysql ... -
测试用例到底怎么才值的写
2016-04-30 10:32 0有个方法是这样的 public function ... -
postman cookies登陆设置
2016-04-28 09:30 2089必须登陆才能测试的接口如何测试? 打开这个开关就可以共用coo ... -
将png 切成ios android能用的格式
2016-04-28 01:24 754由于要求不高找了个在线切图的工具 http://images. ... -
如何在原有系统中加入功能(一数据库)
2016-04-24 11:06 831第一步想办法把建表语句导入一powerdesginer ... -
php递归 格式化 数字类型
2016-04-20 12:35 805/** * 数字转日期递归 ... -
freemind 怎么处理成为word
2015-06-11 19:37 16写文章用freemind打了一个草稿. 先导出成为htm ... -
架构师之路(工欲善其事,必先利其器)纸牌屋
2014-03-27 06:48 0起因:小胖的一个征集实现过程 https://gist.git ... -
油猴对抗一般广告
2012-11-14 00:07 1900看小说 好多好多的广告是必然的.. 所以 去掉iframe 去 ... -
回答一些很有共性的东西
2011-02-24 21:24 5628我作软件第二第三年时 ... -
粗糙的object打印日志用....
2010-11-04 18:40 2179function logJquery(o){ ... -
拳皇连招
2010-09-29 13:46 2386从列表中找到录入的后N位 class KOFTest { ... -
一个activeX方法 刚刚发现
2010-09-14 19:14 1522解答:此题 http://www.iteye.com/prob ... -
[反例]超短代码,意义不明
2010-08-19 17:49 1573public String logout(HttpServl ... -
站读帝
2010-07-26 09:29 1323http://www.hudong.com/wiki/%E7% ... -
不要重复发明轮子
2010-07-06 17:20 2204一直以为不要重复发明轮子的意义很简单. 今天看了人件.... ... -
答复: 不用判断语句求俩数中的大(或者小)数
2010-05-31 12:55 2141跳大神也是一种艺术: public class MaxMin ... -
集合合并
2010-05-28 10:15 1973用于时间表的合并 时间段的合并工作. public cla ... -
删除重名的记录
2010-04-05 23:04 1975面试看到这种题。。。。。 我估计考官的正确答案有可能是错的 所 ...
相关推荐
《ProE5.0入门到精通DVD 密码手册》是一部专为初学者设计的教程,旨在帮助读者从零基础快速掌握ProE5.0这一强大的三维产品设计软件。ProE,全称Product Engineering,是美国参数技术公司(PTC)开发的基于特征的三维...
STM32F405xx和STM32F407xx是STMicroelectronics公司生产的高性能微控制器,属于STM32系列的Cortex-M4内核产品。...这份文档是开发过程中的必备参考资料,对于学习和精通STM32F405xx和STM32F407xx系列微控制器至关重要。
python背记手册 从入门到精通
Panabit入门到精通配置手册
### 精通CANoe使用手册 #### CANoe概述与功能 CANoe是业界领先的用于CAN(Controller Area Network)、LIN(Local Interconnect Network)、FlexRay、Ethernet和其他网络协议的开发工具套件。它由德国Vector公司...
BIOS引导从入门到精通学习手册
Python是一种高级编程语言,以其简洁明了的语法和强大的功能深受程序员喜爱。...对于那些想要学习Python的人来说,阿里的这本入门到精通手册提供了详尽的指导和丰富的实例,是不可多得的学习资源。
《易语言从入门到精通手册教程》是一份全面介绍易语言编程知识的资源,适合初学者及有一定基础的程序员学习。易语言,又称E语言,是中国本土开发的一种简单易学的中文编程语言,旨在降低编程的门槛,让更多人能够...
Oracle入门到精通的傻瓜手册。本手册介绍Oracle配置的基本方法,描述的是“所然”而不是“所以然”。全部操作以命令行方式出现,不涉及GUI(只有白刃战才是真正的战斗)。鉴于大家对Windows已经十分熟悉,同时为了...
视易精通操作手册 视易精通收银管理系统用户操作手册旨在帮助用户快速掌握视易精通收银管理系统的操作方法和技巧,从而提高工作效率和质量。以下是视易精通操作手册中的主要知识点: 登录系统 视易精通收银管理...
在嵌入式开发领域,Linux系统扮演...总之,掌握Linux基础知识、精通C/C++编程、理解嵌入式软件测试方法和策略,是成功通过这类面试的关键。不断实践、深入学习并积累实战经验,将有助于提升在嵌入式开发领域的竞争力。
精通SQL Server 2008完全自学手册.part1
《精通SQL Server 2008完全自学手册》.part2
完全精通局域网手册,不要小看局域网的知识哦
本教程——“Photoshop实例教程:路径完全精通手册”旨在帮助用户全面理解和掌握这一关键技能。 首先,路径是由直线、曲线和锚点组成的图形轨迹,可以理解为画笔的虚拟轨迹。在Photoshop中,路径分为工作路径和路径...
Python入门到精通手册是一个阿里巴巴内部Python背记手册,从人门到精通,教程通俗易懂,实例丰富,既有基础知识,也有实战技能,能够帮助读者快速⼊门,是你学习python的葵花宝典。需要的朋友可下载学习试试! ...
《完全精通局域网手册》是一本专注于局域网技术的综合指南,旨在帮助读者深入理解和熟练掌握局域网的相关知识。局域网(Local Area Network,简称LAN)是计算机网络的一种,它覆盖的地理范围相对较小,通常在一座...
以上只是《ThinkPHP5.0完全开发手册》、《ThinkPHP5快速入门》和《ThinkPHP5控制器从入门到精通》这三本书籍中的一部分内容,实际学习过程中,读者还会接触到路由配置、模型、视图、模板引擎、缓存、权限控制等更多...
**Java面试宝典:从入门到精通的求职指南** 《Java面试宝典》是一本与《Java从入门到精通》配套使用的教程,专为Java求职者设计。本书不仅涵盖了Java技术面试的各个方面,还包含了求职技巧和职业规划的指导。以下是...
《STM8S从入门到精通手册》是一本帮助初学者和开发者学习STM8S系列微控制器的实用指南。 本手册主要内容涉及以下知识点: 1. STM8S单片机的特点与分类 STM8S单片机具有如下特点:低功耗、高性能的CPU核心、丰富的...