一组数字1-n,随机取走3个,求被取走的数【腾讯前端面试题】

本来是搜索as3的相关资料(工作重心已经由前端开发转向webgame开发),在看帖子的时候又看到那道“腾讯前端面试题目”了,以前看到这些题目都不会太注意--感觉实际生产中不太实用。

今天也不知道哪根筯不对,鉴于之前写过那篇《从10W个数中随机抽走2个数,求出那两个数是多少 》 看完题目,想一想呢,似乎套用一下那个公式就好了。那篇文章使用的是

x + y = b;

x * x + y * y = c

解上述二元方程便可求解,那三个数,差不多类似

x + y + z = a;

x * x + y * y + z * z = b;

x * x * x + y * y * y + z * z * z = c;

但发现一个问题,解三元三次方程的时候容易出问题,所以这种思路并不是解这道题目比较明智的方法 :(

无论怎样,看完这道题目,我就在想,我只想使用一次循环就搞定它。因为曾经有过面试腾讯的经历,所以既然出这道题,肯定是可以只使用一次循环便可以得到结果的:)。当然使用两次循环是很容易求出结果的…

 

重新再读一遍题目,1~n个不重复的数 --- 如果把它当数据,那么它的值与数组的索引有对应关系arr[1] = 1… OK,只要这一个信息就可以想到办法实现它,直接先上截图。

 

IE8下的显示:

image

Chrome (ver 17.0.963.2)下:

image

Opera(ver 11.64)下:

image

Firefox(ver 10.0.2)下(10ms以内,有所波动,但不会超过10ms):

image

 

在线查看/运行示例代码:

腾讯前端题目预览代码
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值