/**
* 問題:一本書的頁碼是從自然數1開始編碼到n的。每個頁碼沒有前導0,即第6頁編碼為6,而不是
* 06,或者006.數字計數問題的要求是對給定書的總頁碼n,計算出書的全部頁碼中分別用刀的多少次
* 0,1,……9.。1<=n<=10^9。
* 思路:對於乙個數字t(0<=t<=9),分別考慮個位、十位……到n的最高位,這些位為t的數的個數,再分
* 別加起來,就是所有頁碼中t的個數了
* 假定所有n>=1
class numbercount
} public static void test();
for(int j:n)
intcon=new int[10];
for(int k=1;k<=j;k++)
confirm(k,con);
for(int k=0;k<10;k++)
if(con[k]!=result[k])
} }public numbercount(int n)
/**獲取所有頁碼中0-9每個數字的個數*/
public intgetcount()
return arrays.copyof(result, result.length);
} private int getzerocount()else
}else
pos++;
tk*=10;
} return zeronumber;
} private int getcount(int k)else if(second>k)
}else
pos++;
tk*=10;
} return number;
} private int lengthof()
return r;
}}
讓DedeCMS的欄目頁標題顯示頁碼數
在列表頁的標題上中上頁數使列表頁的標題不重複這樣更利於優化。標籤為 例項 第頁 只適用於列表頁,且該欄目內容不止一頁的情況下,可使用版本包括dedecms v5.1至v5.6。v5.7未測試。測試過的朋友可以說下管用不。修改php的方法為 dedecms修改列表頁標題成 列表名 第xx頁 需要修改i...
解碼數字 動態規劃
題意 a用1表示,b用2表示,z用26表示 請問對給定的一串數字,說明有幾種解碼成字母的方式。例如,123可解碼成abc,lc,aw三種方式。分析 此問題有最右子問題,即如果當前位i和前一位i 1能組成小於等於26的兩位數,那麼前i個數字的解碼方式等於前i 2個數字的解碼方式加上前i 1個數字的解碼...
解碼數字序列
問題 大意 指定26個字元的編碼方式,即a對應1,b對應2,以此類推,z對應26,現出一串數字序列,問有多少種方式能對其進行解碼 實際上是乙個簡單的動態規劃,設s是我們要解碼的數字序列,令dp i 表示s i,s.length 有多少種解碼方式,則狀態方程為 if s i 0,dp i 0 else...