136
Question
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。
示例一:
输入: [2,2,1]
输出: 1
实例二:
输入: [4,1,2,1,2]
输出: 4
Ans
1 2 3 4 5 6 7 8 9 10 11 12 |
int singleNumber(vector<int>& nums) { int ans = nums[0]; if (nums.size() > 1) { for (int i = 1; i < nums.size(); i++) { ans = ans ^ nums[i]; } } return ans; } |
1480
Question
给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。
示例一:
输入:nums = [1,2,3,4]
输出:[1,3,6,10]
解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4] 。
示例二:
输入:nums = [1,1,1,1,1]
输出:[1,2,3,4,5]
解释:动态和计算过程为 [1, 1+1, 1+1+1, 1+1+1+1, 1+1+1+1+1] 。
示例三:
输入:nums = [3,1,2,10,1]
输出:[3,4,6,16,17]
Ans
1 2 3 4 5 6 7 8 9 10 11 12 |
vector<int> runningSum(vector<int>& nums) { auto length = nums.size(); vector<int> result(length,0); auto temp = 0; for (size_t i = 0;i < length; ++i) { result[i] = temp + nums[i]; temp = result[i]; } return result; } |
1512
Question
如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,就可以认为这是一组 好数对 。返回好数对的数目。
示例一:
输入:nums = [1,2,3,1,1,3]
输出:4
解释:有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 0 开始
示例二:
输入:nums = [1,1,1,1]
输出:6
解释:数组中的每组数字都是好数对
示例三:
输入:nums = [1,2,3]
输出:0
Ans
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
int numIdenticalPairs(vector<int>& nums) { int result = 0; auto length = nums.size(); for (size_t i = 0;i < length; ++i) { if(i == length - 1) break; for(size_t j = i + 1;j < length; ++j) { if (nums[i] == nums[j]) result++; } } return result; } |
本文为原创文章,版权归Aet所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 【AcWing 语法基础课 第一讲】02/14
- ♥ 【AcWing 语法基础课 第七八讲】03/03
- ♥ 【Nowcoder-May】05/09
- ♥ 【LeetCode-Apr-链表二】04/02
- ♥ 【LeetCode-Aug】08/10
- ♥ 【LeetCode-30 天 JavaScript 挑战】07/23