首页 > 代码库 > [算法]一整型数组,除了0之外,其他不重复,判断数组元素是否相邻
[算法]一整型数组,除了0之外,其他不重复,判断数组元素是否相邻
数组元素是非负整数,0可以化为任意正整数,要求时间复杂度为O(n)
觉得很奇怪的题目,遍历一次找到最值相减得到极差就行了,如果极差小于数组长度n,则元素相邻,否则不相邻
bool is_adjacent(int* a, int n){ int min = 65535, max = 0; for(int i = 0; i < n; ++i){ if(!a[i] && a[i] < min){ min = a[i]; } else if(!a[i] && a[i] > max){ max = a[i]; } else{} } if(max - min >= n){ return false; } return true;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。