HJ9 题解 | #提取不重复的整数#
提取不重复的整数
https://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1
#include<iostream>
#include<string>
using namespace std;
int main() {
int num = 0;
cin >> num;
string str = to_string(num); //转换成字符串好处理
int len = str.length();
string Fina = str.substr(len - 1, 1); //Fian初始值为str最后一个数字
int k = 1; //Fina中的数字个数
bool tag;
for (int i = len - 2; i >= 0; i--) { //从倒数第二个数字开始遍历
tag = true; //标记为true,代表没有重复数字
for (int j = 0; j < k; j++) {
if (Fina[j] == str[i]) { //遍历Fina已有数字,若有一个和str中数字相同则标记为false
tag = false;
}
}
if (tag) { //如果遍历比较完Fina中已有数字,而且不存在重复的,则将当前str中的数字加入到Fina中
Fina += str[i];
k++;
}
}
num = stoi(Fina); //字符串转回数字;
cout << num;
return 0;
}
华为机试刷题实录 文章被收录于专栏
记录一下本科应届生(我自己)刷华为机试题的过程

查看17道真题和解析