在本文中,我们给出了一个数字 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和其他语言编写相同的程序。希望您会发现本文有帮助。