锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产精品一区二区三区不卡,在线观看麻豆视频,国产超碰在线观看http://www.aygfsteel.com/javier/category/42792.htmlzh-cnSun, 20 Dec 2009 07:45:07 GMTSun, 20 Dec 2009 07:45:07 GMT60- MatchStringhttp://www.aygfsteel.com/javier/archive/2009/12/15/306025.htmljav7erjav7erTue, 15 Dec 2009 07:09:00 GMThttp://www.aygfsteel.com/javier/archive/2009/12/15/306025.htmlhttp://www.aygfsteel.com/javier/comments/306025.htmlhttp://www.aygfsteel.com/javier/archive/2009/12/15/306025.html#Feedback0http://www.aygfsteel.com/javier/comments/commentRss/306025.htmlhttp://www.aygfsteel.com/javier/services/trackbacks/306025.html
http://www.topcoder.com/stat?c=problem_statement&pm=8160
涓緇勫瓧絎︿覆錛屽浣曞皢鍏朵腑涓閮ㄥ垎鍙崇Щ鑻ュ共鏍鹼紝浣垮緱鏌愪竴鍒楃殑綰靛悜鎭板ソ涓鴻姹傜殑瀛楃涓詫紝騫朵笖緇欏嚭縐誨姩鏈灝戠殑絳旀銆?br />
榪欎竴棰樹箥涓鐪嬭寰楀緢澶嶆潅
鏈夌偣鍍忎箣鍓嶅仛榪囩殑鍚変粬鐞村雞鐨勯偅涓棰?br />
鍙槸榪欎釜澶嶆潅搴?^50鏄悆涓嶆秷鐨?br />
浣嗘槸榪欓噷鏈変袱鐐逛笉鍚?br />
涓涓槸榪欓噷鍙兘鍙崇Щ
鍙︿竴涓緢閲嶈鐨勬槸榪欎釜鏌愪竴鍒楀皢鎴愪負涓涓湁鍙傝冩剰涔夌殑鍧愭爣
鍗崇敤榪欎釜鍒楀彿鏉ラ亶鍘?鐪嬬瓟妗堝湪鍝竴鍒楄В絳旀渶灝?br />
鎯抽氳繖涓鐐?鍚庨潰灝卞緢瀹規槗浜?br />
1
import java.util.*;
2
import java.util.regex.*;
3
import java.text.*;
4
import java.math.*;
5
import java.awt.geom.*;
6
7
public class MatchString
8

{
9
public int placeWords(String matchString, String[] matchWords)
10
{
11
List<ArrayList<Integer> > occur = new ArrayList<ArrayList<Integer> >();
12
int L = matchWords.length;
13
int end = 0;
14
int start = Integer.MAX_VALUE;
15
int i,j;
16
for(i = 0 ; i < L ; ++ i)
{
17
ArrayList<Integer> temp = new ArrayList<Integer>();
18
char c = matchString.charAt(i);
19
for(j = 0 ; j < matchWords[i].length(); ++ j)
{
20
if(matchWords[i].charAt(j) == c)
21
temp.add(j);
22
}
23
if(temp.isEmpty()) return -1;
24
occur.add(temp);
25
if(matchWords[i].length() > end)
26
end = matchWords[i].length();
27
if(temp.get(0) < start)
28
start = temp.get(0);
29
}
30
int ans = Integer.MAX_VALUE;
31
Outer:
32
for(i = start; i <= end; ++ i)
{
33
int tempans = 0;
34
for(int k = 0 ; k < L; ++ k)
{
35
j = 0;
36
while(j < occur.get(k).size() && occur.get(k).get(j) <= i)
37
++j;
38
if(j == 0)
39
continue Outer;
40
tempans += i - occur.get(k).get(j-1);
41
}
42
ans = Math.min(ans, tempans);
43
}
44
return ans;
45
}
46
}

]]> - RemovingDigitshttp://www.aygfsteel.com/javier/archive/2009/11/19/302970.htmljav7erjav7erThu, 19 Nov 2009 12:21:00 GMThttp://www.aygfsteel.com/javier/archive/2009/11/19/302970.htmlhttp://www.aygfsteel.com/javier/comments/302970.htmlhttp://www.aygfsteel.com/javier/archive/2009/11/19/302970.html#Feedback0http://www.aygfsteel.com/javier/comments/commentRss/302970.htmlhttp://www.aygfsteel.com/javier/services/trackbacks/302970.html
http://www.topcoder.com/stat?c=problem_statement&pm=8721&rd=12168
緇欏畾涓涓瓧絎︿覆閲岄潰鍖呭惈浜嗚嫢騫蹭釜1锝?鐨勬暟瀛楋紝鍙︿竴涓瓧絎︿覆涓哄叾瀛愰泦錛屽浜庡悗鑰呬腑姣忎釜瀛楃錛屼粠鍓嶉潰瀛楃涓蹭腑鍒犲幓鐩稿簲鐨勪竴涓暟瀛?br />
姹傚垹鍘誨墿涓嬬殑鏁板瓧鐨勬渶澶у?br />
鐢變簬鏄眰鏈澶у鹼紝鐩存帴鍦ㄨ綆楄繃紼嬩腑涓嶆柇璐績鍦ㄦ渶楂樹綅璋嬪彇鏈澶у?br />
浠庡墠闈㈡寜鐓?锝?鐨勯『搴忓姹傚彲浠ュ仛褰撳墠鏈楂樹綅鐨勬渶澶у?br />
鍒嗕互涓?姝ワ細
1.瀵逛簬鎵鏈夐兘瑕佸垹鍘葷殑鏁板瓧錛岀洿鎺ュ垹鍏?br />
2.浠庡墠闈㈠紑濮嬫煡鎵撅紝灝嗘墍鏈夋棤娉曞垹鍘葷殑鏁板瓧鍔犲叆絳旀涓?br />
3.浠庡墠闈㈡寜鐓?锝?鐨勯『搴忔壘鍙互鐢ㄧ殑鏈澶у鹼紝濡傛灉鍏跺墠闈㈢殑鎵鏈夋暟瀛楅兘鍙互鍒犲幓錛岄偅涔堝氨鍙栬繖涓暟錛屽惁鍒欓掑噺
4.鑻ュ瓧絎︿覆涓虹┖鍒欑粨鏉燂紝鍚﹀垯寰幆絎竴姝?br />
榪欎竴棰樿凍瓚沖仛浜?涓灝忔椂
鎯蟲硶寰堝揩灝辨湁浜?br />
浣嗘槸鍦ㄥ疄鐜頒腑String綾誨瀷涓嶈兘淇敼鍜屽垹闄ょ殑闂寰堥毦澶勭悊
鏈鍚庡共鑴嗘妸String杞寲涓篖inkedList鏉ュ仛
涓嶈繃娌℃湁鐪嬬瓟妗堣В鍐蟲帀寰堥毦寰?..緇х畫鍔犳補
1
import java.util.*;
2
import java.util.regex.*;
3
import java.text.*;
4
import java.math.*;
5
import java.awt.geom.*;
6
7
public class RemovingDigits
8

{
9
public String maxNumber(String number, String digits)
10
{
11
int[] numCnt = new int[10];
12
int[] digCnt = new int[10];
13
Arrays.fill(numCnt, 0);
14
Arrays.fill(digCnt, 0);
15
int i;
16
for(i = 0 ; i < number.length(); ++ i)
17
numCnt[number.charAt(i)-'0']++;
18
for(i = 0 ; i < digits.length(); ++ i)
19
digCnt[digits.charAt(i) - '0']++;
20
StringBuilder ans = new StringBuilder("");
21
List<Character> target = new LinkedList<Character>();
22
for(i = 0 ; i < number.length(); ++ i)
{
23
target.add(number.charAt(i));
24
}
25
while(!target.isEmpty())
{
26
//remove digits that all should be removed
27
for(i = 1 ; i < 10 ; ++ i)
{
28
if(numCnt[i] == digCnt[i])
{
29
char c = (char) ('0'+i);
30
while(target.remove((Character)c));
31
// target.remove((Character)c);
32
numCnt[i] = 0;
33
digCnt[i] = 0;
34
}
35
}
36
//append all that cannot be removed
37
for(i = 0 ; i < target.size(); ++ i)
{
38
if(digCnt[target.get(i)-'0'] != 0)
39
break;
40
ans.append(target.get(i));
41
}
42
for(--i;i >= 0; -- i)
{
43
numCnt[target.get(i)-'0']--;
44
target.remove(i);
45
}
46
if(target.isEmpty())
47
break;
48
49
//find the largest head number
50
Outer:
51
for(i = 9 ; i > 0 ; -- i)
{
52
//whether there is still this number
53
if(numCnt[i] == 0)
54
continue;
55
char c = (char) ('0'+i);
56
int idx = target.indexOf((Character)c);
57
int j;
58
int[] tempCnt = new int[10];
59
Arrays.fill(tempCnt, 0);
60
for(j = 0 ; j < idx ; ++ j)
61
tempCnt[target.get(j)-'0']++;
62
for(j = 1 ; j < 10; ++ j)
{
63
if(tempCnt[j] > digCnt[j])
64
continue Outer;
65
}
66
for(j = 1; j < 10; ++ j)
{
67
digCnt[j] -= tempCnt[j];
68
numCnt[j] -= tempCnt[j];
69
}
70
numCnt[i]--;
71
ans.append(target.get(idx));
72
for(j = idx; j >=0; --j)
73
target.remove(j);
74
break;
75
76
}
77
}
78
return ans.toString();
79
}
80
}

]]>
主站蜘蛛池模板:
永顺县|
兴海县|
共和县|
独山县|
浦城县|
壤塘县|
右玉县|
夏津县|
青州市|
龙山县|
枝江市|
保康县|
神农架林区|
景德镇市|
高州市|
滨州市|
六安市|
石狮市|
海宁市|
馆陶县|
曲水县|
许昌县|
汤阴县|
斗六市|
龙川县|
台北市|
隆安县|
渭源县|
滕州市|
凯里市|
曲沃县|
凌云县|
巍山|
太和县|
巴东县|
雷波县|
双柏县|
庆城县|
福贡县|
海南省|
桃江县|