题目描述 给你一个整数数组nums,请你返回其中位数为偶数的数字的个数。 输入 第一行一个整数 n,表示数组大小。 第二行 n 个整数,表示数组元素。 输出 一个整数。 示例 输入 5 12 345 2 6 7896 输出 2 提示 1≤n≤500
时间: 2024-05-02 07:16:27 浏览: 89
以下是 Python 代码实现:
```python
n = int(input())
nums = list(map(int, input().split()))
count = 0
for num in nums:
if len(str(num)) % 2 == 0:
count += 1
print(count)
```
首先读入数组大小和数组元素,然后遍历数组中的每个元素,判断其位数是否为偶数,如果是,则计数器加1。最后输出计数器的值即可。
相关问题
给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。
题目描述:
给定一个未排序的整数数组,找出其中没有出现的最小的正整数。
解题思路:
我们可以使用桶排序的思想,将每个数放到它应该在的位置上,然后再遍历一遍数组,找到第一个不在它应该在的位置上的数,这个数就是没有出现的最小正整数。
具体实现:
1. 遍历数组,将每个数放到它应该在的位置上,例如,数 5 应该放在数组下标为 4 的位置上。
2. 再遍历一遍数组,找到第一个不在它应该在的位置上的数,这个数就是没有出现的最小正整数。
3. 如果数组中所有的数都在它应该在的位置上,那么最小正整数就是数组长度加 1。
代码实现:
class Solution {
public:
int firstMissingPositive(vector<int>& nums) {
int n = nums.size();
for (int i = ; i < n; i++) {
while (nums[i] > && nums[i] <= n && nums[nums[i] - 1] != nums[i]) {
swap(nums[i], nums[nums[i] - 1]);
}
}
for (int i = ; i < n; i++) {
if (nums[i] != i + 1) {
return i + 1;
}
}
return n + 1;
}
};
给你一个整数数组nums,请计算数组的中心下标
好的,计算数组的中心下标可以使用以下方法:
1. 先计算出数组的总和 sum,然后从左往右遍历数组,同时维护一个 left_sum 变量表示当前左边元素的总和。如果 left_sum 等于 sum 减去当前元素值和 left_sum 的差(即右边元素的总和),那么当前下标就是中心下标。
2. 如果左边元素总和与右边元素总和相等,那么当前下标就是中心下标。
下面是使用 Python 实现上述算法的代码:
``` python
def pivotIndex(nums):
sum = 0
for num in nums:
sum += num
left_sum = 0
for i in range(len(nums)):
if left_sum == sum - nums[i] - left_sum:
return i
left_sum += nums[i]
return -1
```
这个函数接受一个整数数组 nums 作为输入,并返回中心下标。如果不存在中心下标,则返回 -1。
阅读全文