题解 | 使用数组的方法做---#提取不重复的整数#

提取不重复的整数

https://www.nowcoder.com/practice/253986e66d114d378ae8de2e6c4577c1

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

//计算10的n次幂
int caculateTen(int x, int vSize) {
    int mySum = 1;
    for (int i = 1; i <= (vSize - x - 1); i++) {
        mySum = mySum * 10;
    }
    return mySum;
}

int newNum(int n) {
    vector<int>v(9);
    int i = 0; 
    for (; n % 10!= 0; i++) {
        v[i] = (n % 10);
        n = n /10;
    }
    v.erase(v.begin()+i,v.end());  //将多余的内容去除
    for (int i = 0; i < v.size(); i++) {
        for (int j = 0; i > 0 && j < i; j++) {
            if (v[i] == v[j]) {
               v.erase(v.begin() + i); //将重复元素删掉
               i = i - 1;  //恢复i的位置
            }
        }
    }
    int sum = 0;
    for (int i = 0; i < v.size(); i++) {
       sum = sum + v[i] * caculateTen(i, v.size());
      
    }
    return sum;

}

int main() {
    int n;
    while (cin >> n) { // 注意 while 处理多个 case
        cout << newNum(n) << endl;
    }

    return 0;
}

全部评论

相关推荐

小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务