移动应用开发实验室二面面试题
第一题:不与最大数相同的数字之和
输出一个整数数列中不与最大数相同的数字之和。
输入格式
输入分为两行:
第一行为 N(NN(N 为接下来数的个数,N \le 100N≤100);
第二行为 NN 个整数,数与数之间以一个空格分开,每个整数的范围是 -1,000,000−1,000,000 到 1,000,0001,000,000。
输出格式
输出为 NN 个数中除去最大数其余数字之和。
sample 1
题解
在这道题中,我们首先创建一个数组来存储我们输入的数字,接着我们需要遍历整个数组来找到其中的最大值,由于最大值可能存在多个,所以我们还需要统计出最大值出现的次数,最后我们用整个数组的元素相加再减去我们的最大值之和(最大值与其出现次数之积)即可得到不与最大数相同的数字之和。
#include<stdio.h>
int main(void) {
int n = 0, i, j,max = -10000000, sum = 0, t = 0, sum1 = 0;
int arr[100] = {
0};
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
for (i = 0;i < n; i++) {
//找出最大值
if (arr[i] > max) {
max = arr[i];
}
}
for (i = 0; i < n; i++) {
//统计最大值出现的次数
if (arr[i] == max) {
t++;
}
}
for (i = 0; i < t; i++) {
//计算最大值之和
sum1 = sum1 + max;
}
for (i = 0; i < n; i++) {
//计算所有元素之和
sum + = arr[i];
}
printf("%d\n", sum-sum1);
return 0;
}
第二题:漂亮的字符串
小蒜认为如果一个字符串中每个字符出现的次数都是偶数次,那么这个字符串是美丽的;
现在给你一个字符串 ss,长度不超过 100100,请判断这个字符串是否是美丽的。
输入格式
一个字符串 s。
输出格式
如果是美丽的字符串,输出 “Yes”,否则输出 “No”。
Sample 1
Input | Output |
---|---|
abaccaba | Yes |
Sample 2
Input | Output |
---|---|
hthth | No |
题解
在这道题中,我们先用字符串数组来存储输入的字符串,接着我们需要一个数组来存储每个字母出现的次数,最后遍历这个数组来判断每个字符出现的次数。
#