<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    將Java進(jìn)行到底
    將Java進(jìn)行到底
    posts - 15,  comments - 66,  trackbacks - 0

    Problem Statement

         When editing a single line of text, there are four keys that can be used to move the cursor: end, home, left-arrow and right-arrow. As you would expect, left-arrow and right-arrow move the cursor one character left or one character right, unless the cursor is at the beginning of the line or the end of the line, respectively, in which case the keystrokes do nothing (the cursor does not wrap to the previous or next line). The home key moves the cursor to the beginning of the line, and the end key moves the cursor to the end of the line.

    You will be given a int, N, representing the number of character in a line of text. The cursor is always between two adjacent characters, at the beginning of the line, or at the end of the line. It starts before the first character, at position 0. The position after the last character on the line is position N. You should simulate a series of keystrokes and return the final position of the cursor. You will be given a String where characters of the String represent the keystrokes made, in order. 'L' and 'R' represent left and right, while 'H' and 'E' represent home and end.

    Definition

        
    Class: CursorPosition
    Method: getPosition
    Parameters: String, int
    Returns: int
    Method signature: int getPosition(String keystrokes, int N)
    (be sure your method is public)
        

    Constraints

    - keystrokes will be contain between 1 and 50 'L', 'R', 'H', and 'E' characters, inclusive.
    - N will be between 1 and 100, inclusive.

    Examples

    0)
        
    "ERLLL"
    10
    Returns: 7
    First, we go to the end of the line at position 10. Then, the right-arrow does nothing because we are already at the end of the line. Finally, three left-arrows brings us to position 7.
    1)
        
    "EHHEEHLLLLRRRRRR"
    2
    Returns: 2
    All the right-arrows at the end ensure that we end up at the end of the line.
    2)
        
    "ELLLELLRRRRLRLRLLLRLLLRLLLLRLLRRRL"
    10
    Returns: 3
    3)
        
    "RRLEERLLLLRLLRLRRRLRLRLRLRLLLLL"
    19
    Returns: 12

    This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2003, TopCoder, Inc. All rights reserved.

    答案:


     1
     2public class CursorPosition {
     3    public int getPosition(String keystrokes, int N){
     4        int position = 0;
     5        String s = "";
     6        for(int i = 0; i < keystrokes.length(); i++){
     7            s = keystrokes.substring(i, i+1);
     8            if("L".equals(s)){
     9                if(position == 0continue;
    10                position--;
    11            }

    12            if("R".equals(s)){
    13                if(position == N) continue;
    14                position++;
    15            }

    16            if("H".equals(s)){
    17                position = 0;
    18            }

    19            if("E".equals(s)){
    20                position = N;
    21            }

    22
    23        }

    24
    25        return position;
    26
    27    }

    28    /**
    29     * @param args
    30     */

    31    public static void main(String[] args) {
    32        CursorPosition cursorPosition = new CursorPosition();
    33        int cursor = cursorPosition.getPosition("ERLLL"10);
    34        System.out.println("cursor:" + cursor);
    35    }

    36
    37}

    38
    posted on 2005-11-27 23:42 風(fēng)蕭蕭 閱讀(942) 評(píng)論(2)  編輯  收藏 所屬分類: 雜談

    FeedBack:
    # re: GOOGLE挑戰(zhàn)賽練習(xí)題3及答案
    2005-11-29 13:13 | jackj
    應(yīng)該可以做一些優(yōu)化,如,
    輸入字符串從后往前查,如果碰到'E'或'H',則以后的就不用執(zhí)行了。
    例如'ERLLLHRL',查到倒數(shù)第三個(gè)字符是'H',在前面的'ERLLL'都可以忽略。  回復(fù)  更多評(píng)論
      
    # re: GOOGLE挑戰(zhàn)賽練習(xí)題3及答案
    2005-11-29 13:53 | 風(fēng)蕭蕭
    有道理,說(shuō)得對(duì)。
    謝謝jackj.  回復(fù)  更多評(píng)論
      

    <2005年11月>
    303112345
    6789101112
    13141516171819
    20212223242526
    27282930123
    45678910

    常用鏈接

    留言簿(8)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    相冊(cè)

    收藏夾

    myfriends

    opensource

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 日韩电影免费观看| 一级毛片aaaaaa视频免费看| 午夜精品免费在线观看| 2022中文字字幕久亚洲| 一级毛片视频免费| 亚洲一区二区三区免费| 人妖系列免费网站观看| 亚洲精品成人a在线观看| 国产黄色免费观看| 亚洲AV中文无码乱人伦下载| 鲁大师在线影院免费观看 | 国产1024精品视频专区免费| 亚洲一区中文字幕| 日韩视频在线免费| 一区二区在线视频免费观看| 伊人久久大香线蕉亚洲五月天| 国产午夜不卡AV免费| 亚洲第一页中文字幕| 免费看美女让人桶尿口| 国产精品亚洲av色欲三区| 亚洲一本大道无码av天堂| 国产色爽免费无码视频| 亚洲一区二区三区不卡在线播放| 成人免费无码大片A毛片抽搐色欲 成人免费无码大片a毛片 | 亚洲熟妇无码另类久久久| 免费av一区二区三区| 亚洲av无码片在线观看| 日本一区二区三区日本免费| 精品免费久久久久国产一区 | 亚洲精品无码专区在线在线播放| 日本卡1卡2卡三卡免费| 亚洲第一男人天堂| 国产亚洲?V无码?V男人的天堂| 日韩午夜理论免费TV影院| 亚洲av永久中文无码精品综合| 奇米影视亚洲春色| 在线视频观看免费视频18| 精品无码一级毛片免费视频观看| 亚洲欧洲日产国码二区首页| 日本免费一二区在线电影| 永久在线观看免费视频|