60.在其它数都出现k次的数组中找到只出现一次的数
题目链接
题目描述
给定一个整型数组arr和一个大于1的整数k。已知arr中只有1个数出现了一次,其他的数出现k次,请返回出现了1次的数。
输入描述
输入包含两行,第一行包含两个整数n和k(1≤n≤105,1≤k≤100),n代表数组arr的长度,第二行n个整数,代表数组arr,数组arr中每个数都是32位整数。
输出描述
输出一个整数,代表唯一出现1次的数。
示例1
输入
7 3
5 4 1 1 5 1 5
输出
4
备注
时间复杂度O(n)O(n),额外空间复杂度O(1)O(1)。
关键技术
数字第一次出现的位置 等于 最后一次出现的位置,则此数字出现了一次。
题目分析
获取多行数据。
把获取的字符转换成整数。
判断数字第一次出现的位置是否等于数字最后一次出现的位置。
若相等,输出此数字。
var input = readline().split(" ");
var n = parseInt(input[0]);
var k = parseInt(input[1]);
var str = readline().split(" ");
var arr = [];
for(let i=0;i
arr.push(parseInt(str[i]));
}
var res = [];
for(let i=0;i
if(arr.indexOf(arr[i]) == arr.lastIndexOf(arr[i])){
res.push(arr[i]);
}
}
print(res[0]);
61.在其它数出现次数都为偶数的数组中找到出现次数为奇数次的数
题目链接
题目描述
给一个数组arr,其中只有一个数出现了奇数次,其它数出现了偶数次,打印这个数。
输入描述
输出包含两行,第一行包含一个整数n(1≤n≤10^5),代表数组arr长度,第二行有n个数,代表数组arr,arr[i] 为32位整数arri为32位整数。
输出描述
输出一个整数,代表出现次数为奇数次的那个数。
示例1
输入
5
3 1 3 1 2
输出
2
示例2
输入
3
6 6 3
输出
3
备注
时间复杂度O(n)O(n),额外空间复杂度O(1)O(1)。
关键技术
按位异或运算
题目分析
获取输入的多行数据;
相同的数字取异或为0,不同的数字取异或为1,所以arr中所有数字的异或值为出现奇数次的数字;
var n = parseInt(readline());
var arr = readline().split(' ');
var res = [];
for(let i=0;i
res ^= arr[i];
}
print(res);
标签:输出,arr,道题,33,整数,牛客,数组,var,出现
来源: https://www.cnblogs.com/liu-xin1995/p/12405129.html