标签:输出 arr 道题 33 整数 牛客 数组 var 出现
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<str.length;i++){ arr.push(parseInt(str[i])); } var res = []; for(let i=0;i<arr.length;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<n;i++){ res ^= arr[i]; } print(res);
标签:输出,arr,道题,33,整数,牛客,数组,var,出现 来源: https://www.cnblogs.com/liu-xin1995/p/12405129.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。