记应聘:华为 杭州 OD

记在前面

看网上的评论,说这个东东是外包的。我的态度是先试试吧。

一面,在线机试

。。今天卡在一个低级语法错误上,导致最后过了40%,真是智障。。
题目是:找出一个字符串中出现次数最多的字符,并输出该字符以及它出现的次数。
具体分为大小写敏感和不敏感两种情况。大小写敏感时,就是输出出现次数最多的字符,及其出现的次数。大小写不敏感时,要求输出的字符按照第一次出现的大写还是小写输出。以及它的出现次数。
以下是代码:

#include<iostream>
#include<string>
using namespace std;

int main() {
	string in;  //输入的字符串
	string flag1;  //判断标志  true为大小写敏感,false为大小写不敏感
	cin >> in;
	int j = in.length();   //表示字符串的长度
	int b[52] = {0};  //记录,大小写敏感时。
	struct a {
		int num;
		int flag;  //记录首次出现是大写还是小写  0 大写 1 小写
	};
	//定义一个结构体数组  //记录每个字母出现的次数。不敏感时用这个。
	a a1[26];  //直接这样也可以定义结构体数组
	for (int i = 0; i < 26; i++) {
		a1[i].num = 0;
		a1[i].flag = 0;   //初始化
	}
	cin >> flag1;
	if (flag1 == "false") //大小写不敏感时,大小写看成一个字母,
	{   
		for (int i = 0; i < j; i++) {
			if ((-1 < (int)(in[i]) - 65 )&&((int)(in[i]) - 65 < 26) && (a1[(int)(in[i])- 65].num == 0)) {
				a1[(int)(in[i]) - 65].num++;
				a1[(int)(in[i]) - 65].flag = 0;
			}  
			else if ((-1 < (int)(in[i]) - 97)&&((int)(in[i]) - 97 < 26) && (a1[(int)(in[i]) - 97].num == 0)) {
				a1[(int)(in[i]) - 97].num++;
				a1[(int)(in[i]) - 97].flag = 1;
			}
			else {
				if ((-1 < (int)(in[i]) - 65 )&&((int)(in[i]) - 65 < 26)) { a1[(int)(in[i]) - 65].num++; }
				else { a1[(int)(in[i]) - 97].num++; }
			}
		}
		int max = 0; int i3 = 0;
		for (int i = 0; i < 26; i++) { 
			if (a1[i].num > max) { max = a1[i].num; i3 = i; }
		}
		if (a1[i3].flag == 0) {
			cout << (char)(i3 + 65) << " " << max;
		}
		else{ 
			cout << (char)(i3 + 97) << " " << max;
		}
	}
	else {  //大小写敏感
		for (int i = 0; i < j; i++) {
			if ((-1 < (int)(in[i]) - 65)&&((int)(in[i]) - 65 < 26)) { b[(int)(in[i]) - 65]++; }
			else{ b[(int)(in[i]) - 71]++; }
		}
		int max = 0; int i3 = 0;
		for (int i = 0; i < 52; i++) {
			if (b[i] > max) { max = b[i]; i3 = i; }
		}
		if (i3 < 26) { cout << (char)(i3 + 65) << " " << max; }
		else{ cout << (char)(i3 + 71) << " " << max; }
	}
	return 0;
}

今天卡在了一个智障语法问题,埃,可惜。在C++里面,连续的小于号,大于号是不能使用的。比如1<a<2这样的判断是无法使用的。我今天就是卡在这里,功亏一篑,可惜。下次继续加油吧。
凉了,又是一周没回信。下次继续加油吧。有续集评论里面聊。

原创文章 77 获赞 4 访问量 9054

猜你喜欢

转载自blog.csdn.net/weixin_40007143/article/details/104510643
今日推荐