卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64334本站已运行4115

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

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

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

'
Input: x = 12224
Output: 124

Input: x = 124422
Output: 1242

Input: x = 11332
Output: 132

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

寻找解决方案的方法

在给定的方法中,我们将遍历所有数字现在从右到左n的数字。我们通过将 n 与 10 取模,然后将 n 除以 10 来遍历 n 的数字。现在我们当前的数字是 n mod 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和其他语言编写相同的程序。希望您会发现本文有帮助。

卓越飞翔博客
上一篇: 在C++程序中,允许移除位的情况下,判断一个数是否能被64整除
下一篇: 解释C语言中未初始化数组访问的概念
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏