使用 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.