c语言编程题2^0+2^1+……+2e63,牛客网刷题33(2道题)
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
總結
以上是生活随笔為你收集整理的c语言编程题2^0+2^1+……+2e63,牛客网刷题33(2道题)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个控制器2套模版php,如何不用一个自
- 下一篇: linux runqueue定义,Lin