1、如果乙個數字十進位制表達時,不存在連續兩位相同,則稱之為「不重複數」。例如,105、1234、12121都是不重複數,而11、100、1225不是。給定乙個正整數a,返回大於a的最小不重複數。a小於100000.
示例:輸入:value =21099 返回:21201
本題的難點不在於判斷是否是不重複數,而在於輸出大於a的最小不重複數。
特別考慮集中情況:1、99、999、9999等
2、199、299、399等
基本思想:通過遞迴迴圈判斷是不是「不重複數」,若是,則相同的部分低位加1,再迴圈判斷,最後輸出大於a的最小不重複數;若不是,則直接輸出。
void fun(int a,int
size)
else
}}
if(flag==0)
printf("%d\n",n);
}}void q5()
while(m)
if(size1==size2)
else fun(b,size2);
}}int main()
不重複數字
operatorname luogup 4305 給定 n nn 個數,要求把其中重複的去掉,只保留第一次出現的數。本題有多組資料。第一行乙個整數 t tt 表示資料組數。對於每組資料 第一行乙個整數 n nn 第二行 n nn 個數,表示給定的數。對於每組資料,輸出一行,為去重後剩下的數,兩個數之...
不重複數字 unordered map
據說這道題加強了資料,卡普通雜湊,多模數雜湊,普通map,set 這時候就要祭出我們的大殺器 unordered map 定義和用法與普通map基本相同,只不過它的查詢是o 1 的 它的實現就是雜湊表 而普通map是o logn 的,那麼這道題就迎刃而解了 另 它還有個兄弟 unordered se...
今天的輸出不重複數
int a 10 bool ifcx 10 用於判斷數字是否出現過 int n 10 int ku new int n 用於存放出現過的數字 for int i 0 i 10 i 第一條給陣列變數賦值,第二條可不寫 全域性中的bool陣列變數初始為false for int i 0 ifor int...