头条一面,一道题目把我挂了(题面已经更新)

updated
第一题
一个经典的题目,给你n 个数,每个数数据范围[0, n-1],问你是否有重复(当然这题很简单)
有人问,题目链接
第二题
把第一题每个数的数据范围改成 任意正整数
第三题
把第一题每个数的范围改成 任意整数
要求时间O(n),空间O(1)

面试官引导我
“假如这些数是有序的,如果都不同有什么特征?”

有这道问题的解法,欢迎讨论。
下面有人说用Bitset或者 Bloom Filter
那么这个空间就是lg(INT_MAX or LONG_INTMAX)or O(m)
m参考博客
我的思维太固化了233
#字节跳动#
全部评论
l利用基数排序就可以了...
点赞 回复 分享
发布于 2018-03-31 12:50
有序的不是直接判断相邻就好了吗。。。
点赞 回复 分享
发布于 2018-04-02 17:18
面试官提醒这些数有序时会怎样,一个有序的数列这里是等差数列,差为1,可以用求和公式求出来,这里先找出这些数里的最大值,最小值,再求出所有数的和,用等差公式根据找到的最小值计算理论上等差的最大值,如果计算出来的值比找到的最大值小,肯定有某个正数重复,如此推算,应该可以吧
点赞 回复 分享
发布于 2018-04-01 17:57
用逻辑运算应该可以
点赞 回复 分享
发布于 2018-04-01 08:49
您好 头条您面的是算法岗么
点赞 回复 分享
发布于 2018-03-31 19:14
没太看懂楼主的表述。。可以再写清楚一点吗
点赞 回复 分享
发布于 2018-03-31 16:51
参考 剑指offer 3 题目几乎一样
点赞 回复 分享
发布于 2018-03-31 16:18
下午面试的瑟瑟发抖
点赞 回复 分享
发布于 2018-03-31 13:14
Bloom-Filter?
点赞 回复 分享
发布于 2018-03-31 12:57
第一次视频面试...说是面试时间前30Min可以签到,但是现在签到按钮都是灰的怎么破...
点赞 回复 分享
发布于 2018-03-31 12:50
染色法,二分,求和做减法,都是o(1)空间
点赞 回复 分享
发布于 2018-03-31 12:38
遍历一遍找到最大的数,再用第一种方法求解?
点赞 回复 分享
发布于 2018-03-31 12:26
%n得到下标,通过交换的方式放到相应位置,冲突的话(+1)%n,过程中比较是否重复。这样可以么,时间复杂度是多少
点赞 回复 分享
发布于 2018-03-31 12:24
想知道0~n-1的情况怎么解…
点赞 回复 分享
发布于 2018-03-31 12:13
多久时间会知道自己挂没挂……
点赞 回复 分享
发布于 2018-03-31 12:12
按照面试官的提示,无符号-》负数,有序-》知道最小的负数 是不是意思是把数组还是变成全是正数?
点赞 回复 分享
发布于 2018-03-31 12:03
楼主可以完整下描述,像“把前者稍微变下思路,+n变成-MAX - 1”和“问如果是无符号呢”这两句我看了好久都不知道是什么意思。。。
点赞 回复 分享
发布于 2018-03-31 11:59
建议楼主把题目说清楚,因为你有递进关系,每个细节都需要确认,所以你可以这样说: 1. n个数,范围[0,n-1],问是否重复数字是多少? 2. n个数,范围[1,n-1],问。。。 这个题挺有意思的,我在网上也看到一些解法,但希望能分开讨论,感谢!
点赞 回复 分享
发布于 2018-03-31 11:55
剑指offer 51
点赞 回复 分享
发布于 2018-03-31 11:43
数据范围没上限?
点赞 回复 分享
发布于 2018-03-31 11:24

相关推荐

点赞 评论 收藏
分享
喜欢飞来飞去的雪碧在刷代码:可以试一试字节
点赞 评论 收藏
分享
评论
点赞
51
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务