锘??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 GMT60MatchStringhttp://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 />
 1import java.util.*;
 2import java.util.regex.*;
 3import java.text.*;
 4import java.math.*;
 5import java.awt.geom.*;
 6
 7public 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}


jav7er 2009-12-15 15:09 鍙戣〃璇勮
]]>
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鏉ュ仛
涓嶈繃娌℃湁鐪嬬瓟妗堣В鍐蟲帀寰堥毦寰?..緇х畫鍔犳補

 1import java.util.*;
 2import java.util.regex.*;
 3import java.text.*;
 4import java.math.*;
 5import java.awt.geom.*;
 6
 7public 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}


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