使用 C++ 删除给定数字中的重复数字


在本文中,我们给定一个数字 n,我们需要删除给定数字中的重复数字。

Input: x = 12224
Output: 124

Input: x = 124422
Output: 1242

Input: x = 11332
Output: 132

在给定的问题中,我们将遍历所有数字并删除重复的数字。

寻找解决方案的方法

在给定的方法中,我们现在将从右到左遍历 n 的所有数字。我们通过对 n 取模 10 并然后将 n 除以 10 来遍历 n 的数字。现在我们的当前数字是 n 模 10。我们用前一个数字检查它。如果数字相等,我们现在遍历 n。如果它们不相似,我们将此数字添加到我们的新数字中,将前一个数字更改为当前数字,并继续循环。

示例

#include <bits/stdc++.h>

#define MOD 1000000007

using namespace std;

int main() {
   int n = 1222333232; // given n
   int new_n = 0; // new number
   int po = 1; // will b multiple of ten for new digits
   int prev = -1; // previous digit
   int curr; // current digit
   while(n) {
      curr = n % 10;
      if(prev != curr) { // if a digit is not repeated then we go in this block
         new_n = new_n + (curr * po); // we add a new digit to new_n
         po *= 10;
         prev = curr;
      }
      n /= 10;
   }
   cout << new_n << "\n";
   return 0;
}

输出

123232

以上代码的解释

在上述方法中,我们现在只是简单地遍历 n 的数字,当我们的前一个数字和当前数字不匹配时,我们将此类数字添加到我们的新数字中,并且随着我们的数字被添加,我们还增加了 po,它现在用于我们数字的位置,如果我们的当前数字和前一个数字匹配,我们不运行此块并继续循环,直到我们的 n 变成 0。

结论

在本文中,我们解决了一个问题,即删除给定数字中的重复数字。我们还学习了这个问题的 C++ 程序以及我们解决此问题的完整方法(普通方法)。我们可以在其他语言(如 C、Java、Python 和其他语言)中编写相同的程序。我们希望您发现本文有所帮助。

更新于: 2021 年 11 月 29 日

455 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.