pzz
C++博客
|
首頁
|
發新隨筆
|
發新文章
|
聯系
|
聚合
|
管理
隨筆:8 文章:35 評論:3 引用:0
龐果會-回文字符串
1.一開始想法是對的,就是(總長度/2)!/(每個字母i出現的次數/2)! ,一開始用c++寫的代碼,錯誤是因為數據溢出,而java的BigInteger對于處理大數據的加減乘除是最適合不過的啦
下面是寫得兩個代碼:
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
發表于 2013-08-01 21:43
pzz
閱讀(129)
評論(0)
編輯
收藏
引用
所屬分類:
龐果會英雄挑戰賽
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
<
2025年7月
>
日
一
二
三
四
五
六
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
8
9
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
給我留言
查看公開留言
查看私人留言
隨筆分類
一些記錄(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系統下遇到的奇怪問題(1)
(rss)
oj題目思路(2)
(rss)
操作系統(1)
(rss)
成長記錄
(rss)
讀書(1)
(rss)
九度oj(1)
(rss)
龐果會英雄挑戰賽(1)
(rss)
深入理解計算機系統札記
(rss)
樹狀數組(1)
(rss)
思維火花
(rss)
算法學習(1)
(rss)
網絡流
(rss)
線段樹
(rss)
雜感
(rss)
狀態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: 樹狀數組和線段樹簡單題
。。。
--pzz
2.?re: 2013我有夢
恩,是的
--pzz
3.?re: 2013我有夢[未登錄]
支持一吧!實踐夢想需要極大的努力
--true
閱讀排行榜
1.?2013我有夢(393)
2.?nyoj195_飛翔(270)
3.?hfut1245_水晶球(269)
4.?熟練才是王道 (266)
5.?群賽(238)
評論排行榜
1.?2013我有夢(2)
2.?熟練才是王道 (0)
3.?nyoj195_飛翔(0)
4.?教訓(0)
5.?群賽(0)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 pzz
久久久久国产精品人妻
|
伊色综合久久之综合久久
|
色综合久久综合中文综合网
|
久久久无码精品亚洲日韩蜜臀浪潮
|
久久综合丁香激情久久
|
色综合久久88色综合天天
|
久久夜色精品国产www
|
日本五月天婷久久网站
|
91精品国产乱码久久久久久
|
久久久久亚洲AV成人网人人软件
|
国内精品久久久久影院老司
|
久久精品国产精品亚洲毛片
|
久久久WWW免费人成精品
|
婷婷久久久亚洲欧洲日产国码AV
|
午夜精品久久久内射近拍高清
|
综合久久精品色
|
亚洲综合精品香蕉久久网97
|
久久精品日日躁夜夜躁欧美
|
国产精品久久久久一区二区三区
|
久久久久久国产精品无码下载
|
品成人欧美大片久久国产欧美...
|
亚洲国产精品高清久久久
|
久久久久久久久久免免费精品
|
久久国产色AV免费观看
|
久久久久国产精品嫩草影院
|
久久久国产99久久国产一
|
久久精品成人
|
精品久久人人妻人人做精品
|
精品国产福利久久久
|
久久久久久久亚洲Av无码
|
综合久久国产九一剧情麻豆
|
日韩亚洲国产综合久久久
|
久久国产精品无码网站
|
国产精品狼人久久久久影院
|
国内精品久久久久久久coent
|
91精品国产综合久久久久久
|
国产V综合V亚洲欧美久久
|
久久中文骚妇内射
|
久久国产精品77777
|
精品无码久久久久国产
|
91精品国产综合久久婷婷
|