当前位置: 首页 > 面试题库 >

一个长度为N的整形数组,数组中每个元素的取值范围是[0,n-1],判断该数组否有重复的数,请说一下你的思路并手写代码

严兴言
2023-03-14
本文向大家介绍一个长度为N的整形数组,数组中每个元素的取值范围是[0,n-1],判断该数组否有重复的数,请说一下你的思路并手写代码相关面试题,主要包含被问及一个长度为N的整形数组,数组中每个元素的取值范围是[0,n-1],判断该数组否有重复的数,请说一下你的思路并手写代码时的应答技巧和注意事项,需要的朋友参考一下

参考回答:

把每个数放到自己对应序号的位置上,如果其他位置上有和自己对应序号相同的数,那么即为有重复的数值。时间复杂度为O(N),同时为了节省空间复杂度,可以在原数组上进行操作,空间复杂度为O(1)


 类似资料:
  • 本文向大家介绍怎么判断一个数是二的倍数,怎么求一个数中有几个1,说一下你的思路并手写代码?相关面试题,主要包含被问及怎么判断一个数是二的倍数,怎么求一个数中有几个1,说一下你的思路并手写代码?时的应答技巧和注意事项,需要的朋友参考一下 1、判断一个数是不是二的倍数,即判断该数二进制末位是不是0: a % 2 == 0 或者a & 0x0001 == 0。 2、求一个数中1的位数,可以直接逐位除十取

  • 假设我有两个数组,和,其中是的子集: 我想返回如下数组: 如果只是一个数字,那就足够简单了(),但我尝试了y中的等效

  • 这是一个面试问题。我们有一个大小为N的整数数组,包含0到N-1之间的元素。一个数字可能出现两次以上。目标是找到总和为给定数字X的对。 我使用了一个辅助数组,该数组包含主数组的元素计数,然后根据辅助数组重新排列主数组,以便对主数组进行排序,然后搜索对。 但是面试官想要空间复杂度常数,所以我告诉他对数组进行排序,但这不是时间复杂度解。他想要O(n)解。 是否有任何方法可以在没有任何额外空间的情况下在O

  • 问题内容: 做到这一点的最佳方法是什么? 问题答案: 使用 array_slice() 这是PHP手册中的一个示例:array_slice 只有一个小问题 如果数组索引对您有意义,请记住这将重置并重新排列 数字 数组索引。您需要设置标志来避免这种情况。(第4个参数,自5.0.2起可用)。 例: 输出:

  • 本文向大家介绍手写代码:一个数组找出重复的元素相关面试题,主要包含被问及手写代码:一个数组找出重复的元素时的应答技巧和注意事项,需要的朋友参考一下 参考回答: function duplicates(arr) { //声明两个数组,a数组用来存放结果,b数组用来存放arr中每个元素的个数 var a = [],b = []; //遍历arr,如果以arr中元素为下标的的b元素已存在,则该b元素加1

  • 我有一个关于Hackkerrank的挑战如下 示例 票=[8,5,4,8,4] 已排序的有效子序列为{4,4,5}和{8,8}。这些子序列的m值分别为3和2。返回3。 功能描述 在下面的编辑器中完成maxTickets函数。 采样输入0 STDIN函数 4张票[]大小n=4 2 3 示例输出0 输出: 我的代码能用吗?有没有我的代码失败的情况?你能为这个挑战提供一个更好的算法吗?