從0 n 中文字內容 含有1的 數字的個數

2021-08-15 22:26:48 字數 522 閱讀 2797

本人所碰到的情況分以下三種

1 通常思路 for    字串 比對計數

2 位數計算 另外有其他的朋友取高低位在此不做贅述 拿別人鏈結不太好csdn這類帖子不少可以找一找

3取餘

public class maintest 

public static void get(int n)

}

取得數字n 取餘判斷是否為1 計算次數最壞等於位數 最佳等於1

假設n個隨機數最壞n*位數 最佳是n 遞迴的話可以流暢應對高位數 

就算是迴圈的話也需要記錄大量的變數來反覆取位驗證 跟遞迴消耗的資源彼此彼此

**整潔度和資源**的優先考慮遞迴取餘可能是比較好的選擇

說到這想起個別的問題 從0到n所包含的五的倍數 這個之後有機會說

(單執行緒問題我的筆記本這麼好 能用計算搞定的問題為什麼要宣告那麼多東西呢)

統計所有0到n之間所有含有數字1的數字和

實現函式int func unsigned n 其中n為正整數,返回從1到n 包含1和n 之間出現的1的個數,如 func 13 6,func 9 1。注意 不能將整數轉化為字串 分析 這個問題可以分解為 對於乙個有digit位的數,可以統計其每個位上出現1的次數,遍歷每個位,累計的次數即為出現1的...

0 n 1中缺失的數字

乙個長度為n 1的遞增排序陣列中的所有數字都是唯一的,並且每個數字都在範圍0 n 1之內。在範圍0 n 1內的n個數字中有且只有乙個數字不在該陣列中,請找出這個數字。分析 因為陣列是排序的,因此陣列中開始的一些數字與它們的下標相同。也就是說,0在下標為0的位置,1在下標為1的位置,以此類推。如果不在...

0 n 1中缺失的數字

題目 乙個長度為n 1的遞增陣列中所有的數字都是唯一的,並且每個數字都在範圍0 n 1之內,在範圍內的n個數字中有且只有乙個數字不在該陣列中,請找出這個數字。第乙個方法先遍歷,求出所有資料的和,再利用公式,找出缺失的資料的值。第二個方法,利用二分查詢,找出缺失的數字。package helen.c ...