首页 文章资讯内容详情

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

2026-06-02 1 花语

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

Input: x = 12224 Output: 124 Input: x = 124422 Output: 1242 Input: x = 11332 Output: 132

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

寻找解决方案的方法

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

示例

#include <bits/stdc++.h> #define MOD 1000000007 using namespace std; int main() { int n = 1222333232; //给定n int new_n = 0; //新号码 int po = 1; //将是新数字的十的倍数 int prev = -1; //前一位 int curr; //当前数字 while(n) { curr = n % 10; if(prev != curr) { //如果一个数字不重复,那么我们进入这个块 new_n = new_n + (curr * po); //我们向new_n添加一个新数字 po *= 10; prev = curr; } n /= 10; } cout << new_n << "\n"; return 0; }输出结果123232

上面代码的解释

在上面的方法中,当我们的前一个数字和当前数字不匹配时,我们现在只是遍历n的数字,我们将这个数字添加到我们的新数字中,并且随着我们的数字添加,我们也增加了po,即如果我们的当前数字和前一个数字匹配,现在用于我们数字的位置-我们不运行此块并继续循环直到我们的n变为0。

结论

在本文中,我们解决了删除给定数字中重复数字的问题。我们还学习了针对此问题的C++程序以及解决此问题的完整方法(Normal)。我们可以用其他语言编写相同的程序,例如C、java、python和其他语言。我们希望这篇文章对您有所帮助。