pzz
C++博客
|
首頁
|
發(fā)新隨筆
|
發(fā)新文章
|
聯(lián)系
|
聚合
|
管理
隨筆:8 文章:35 評論:3 引用:0
龐果會-回文字符串
1.一開始想法是對的,就是(總長度/2)!/(每個字母i出現(xiàn)的次數(shù)/2)! ,一開始用c++寫的代碼,錯誤是因為數(shù)據(jù)溢出,而java的BigInteger對于處理大數(shù)據(jù)的加減乘除是最適合不過的啦
下面是寫得兩個代碼:
c++代碼
1
int
_init(
string
s,
int
countnum[])
2
{
3
int
len=s.length();
4
for
(
int
i=0;i<len;i++)
5
countnum[s[i]-'a']++;
6
return
len;
7
}
8
int
palindrome(
const
string
&s)
9
{
10
int
countnum[26],visit[26];
11
int
alphanum;
12
memset(countnum,0,
sizeof
(countnum));
13
memset(visit,0,
sizeof
(visit));
14
alphanum=_init(s,countnum);
15
int
is_palindrome=0;
16
for
(
int
i=0;i<26;i++)
17
{
18
if
(countnum[i]%2==1) {
19
is_palindrome++;
20
visit[i]=1;
21
}
22
}
23
if
(is_palindrome>1)
return
0;
24
else
25
{
26
long
long
sum=1;
27
//
則除去中間的一個字母還有兩邊的字母,(alphanum-1)/2
28
if
(is_palindrome==1){
29
for
(
int
i=1;i<=(alphanum-1)/2;i++)
30
sum=((sum*i)%MAX_VALUE);
31
for
(
int
i=0;i<26;i++)
32
{
33
if
(countnum[i]>0)
34
{
35
if
(visit[i]!=1){
36
for
(
int
j=2;j<=(countnum[i]/2);j++)
37
{
38
sum=(sum/j)%MAX_VALUE;
39
}
40
}
41
else
42
{
43
for
(
int
j=2;j<=(countnum[i]-1)/2;j++)
44
{
45
sum=(sum/j)%MAX_VALUE;
46
}
47
}
48
}
49
}
50
}
51
else
52
{
53
for
(
int
i=1;i<=(alphanum)/2;i++)
54
sum=((sum*i)%MAX_VALUE);
55
for
(
int
i=0;i<26;i++)
56
{
57
if
(countnum[i]>0)
58
{
59
if
(visit[i]!=1){
60
for
(
int
j=2;j<=(countnum[i]/2);j++)
61
{
62
sum=(sum/j)%MAX_VALUE;
63
}
64
}
65
else
66
{
67
for
(
int
j=2;j<=(countnum[i]-1)/2;j++)
68
{
69
sum=(sum/j)%MAX_VALUE;
70
}
71
}
72
}
73
}
74
}
75
return
sum%MAX_VALUE;
76
}
77
}
78
Java代碼
參考文章:
http://blog.csdn.net/u011459840/article/details/9667077
1
public
static
int
palindrome(String s) {
2
int
[]countnum=
new
int
[26];
3
int
len=s.length();
4
int
is_can=0;
5
if
(s==
null
||s.length()>100||s.length()<1)
return
0;
6
for
(
int
i=0;i<len;i++)
7
{
8
countnum[s.charAt(i)-'a']++;
9
}
10
for
(
int
i=0;i<26;i++){
11
if
(countnum[i]%2==1){
12
is_can++;
13
}
14
}
15
if
(is_can>1)
return
0;
16
else
17
{
18
//
求階乘(len/2)!
19
BigInteger result=BigInteger.ONE;
20
for
(
int
i=1;i<=(len/2);i++){
21
result=result.multiply(BigInteger.valueOf(i));
22
}
23
BigInteger dividevalue=BigInteger.ONE;
24
for
(
int
i=0;i<26;i++)
25
{
26
if
(countnum[i]>0){
27
for
(
int
j=1;j<=(countnum[i]/2);j++){
28
dividevalue=dividevalue.multiply(BigInteger.valueOf(j));
29
}
30
}
31
}
32
result=result.divide(dividevalue);
33
return
result.mod(BigInteger.valueOf(1000000007)).intValue();
34
}
35
發(fā)表于 2013-08-01 21:43
pzz
閱讀(122)
評論(0)
編輯
收藏
引用
所屬分類:
龐果會英雄挑戰(zhàn)賽
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
網(wǎng)站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
<
2025年5月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
給我留言
查看公開留言
查看私人留言
隨筆分類
一些記錄(4)
(rss)
一些算法思路(2)
(rss)
隨筆檔案
2013年2月 (1)
2012年5月 (7)
文章分類
ACM 搜索(1)
(rss)
ahstu_oj(2)
(rss)
c/c++(8)
(rss)
c++基本常識(1)
(rss)
linux嵌入式(5)
(rss)
linux系統(tǒng)下遇到的奇怪問題(1)
(rss)
oj題目思路(2)
(rss)
操作系統(tǒng)(1)
(rss)
成長記錄
(rss)
讀書(1)
(rss)
九度oj(1)
(rss)
龐果會英雄挑戰(zhàn)賽(1)
(rss)
深入理解計算機系統(tǒng)札記
(rss)
樹狀數(shù)組(1)
(rss)
思維火花
(rss)
算法學習(1)
(rss)
網(wǎng)絡流
(rss)
線段樹
(rss)
雜感
(rss)
狀態(tài)dp
(rss)
字符串匹配(2)
(rss)
文章檔案
2014年5月 (3)
2014年4月 (1)
2014年3月 (1)
2014年2月 (1)
2013年11月 (1)
2013年10月 (3)
2013年9月 (2)
2013年8月 (6)
2013年7月 (4)
2013年6月 (2)
2012年5月 (3)
2012年4月 (4)
2012年3月 (4)
友情鏈接
csdn
豆瓣
杭電酷行天下
老趙
劉若鵬
南陽c小加
搜索
最新評論
1.?re: 樹狀數(shù)組和線段樹簡單題
。。。
--pzz
2.?re: 2013我有夢
恩,是的
--pzz
3.?re: 2013我有夢[未登錄]
支持一吧!實踐夢想需要極大的努力
--true
閱讀排行榜
1.?2013我有夢(387)
2.?hfut1245_水晶球(264)
3.?nyoj195_飛翔(263)
4.?熟練才是王道 (260)
5.?群賽(233)
評論排行榜
1.?2013我有夢(2)
2.?熟練才是王道 (0)
3.?nyoj195_飛翔(0)
4.?教訓(0)
5.?群賽(0)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 pzz
色8激情欧美成人久久综合电
|
国产精品岛国久久久久
|
av午夜福利一片免费看久久
|
怡红院日本一道日本久久
|
亚洲天堂久久久
|
久久综合九色综合欧美就去吻
|
潮喷大喷水系列无码久久精品
|
亚洲欧美国产精品专区久久
|
久久激情五月丁香伊人
|
久久影院久久香蕉国产线看观看
|
久久亚洲国产成人精品无码区
|
久久一本综合
|
亚洲午夜久久久久久久久电影网
|
久久这里只有精品18
|
精品久久久久久无码专区
|
中文字幕久久欲求不满
|
久久久久久亚洲精品无码
|
久久久久久久综合综合狠狠
|
亚洲精品乱码久久久久久蜜桃
|
一本大道久久a久久精品综合
|
亚洲狠狠综合久久
|
日日狠狠久久偷偷色综合免费
|
中文无码久久精品
|
久久中文娱乐网
|
日韩久久久久中文字幕人妻
|
国产激情久久久久久熟女老人
|
精品久久8x国产免费观看
|
精品久久久久中文字
|
久久人做人爽一区二区三区
|
亚洲国产成人久久综合一
|
久久国产成人午夜aⅴ影院
|
伊人精品久久久久7777
|
久久久久亚洲av无码专区喷水
|
国产日韩久久免费影院
|
亚洲国产精品无码久久一线
|
久久香蕉国产线看观看精品yw
|
久久综合九色综合精品
|
三级片免费观看久久
|
99久久夜色精品国产网站
|
香蕉久久夜色精品升级完成
|
久久久久人妻一区精品
|