• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-80  評論-24  文章-0  trackbacks-0
            給定一個字符串,僅包含26個字母以及'*'字符,要求將所有'*'字符移動到字符串前面,并且保證原字母順序不變。
            開始想這不就是簡單的一遍快排么,后來仔細想了想不太對啊,一遍快排就把字母順序打亂了,后來又想了想,還是有時間復雜度O(N),空間復雜度O(1)的算法的,大體思想就是i從后向前掃描,找到第一個'*',然后j在i的位置向前掃描,找到第一個字母,然后將str[i]與str[j]交換,之后i--,j--,繼續前面的過程,直到j<0為止。這樣做之所以復雜度為O(N)是因為i每次都是遞減的,j同樣也是遞減的,這樣i最多走N步,j也同樣最多走N步,因此復雜度肯定是N的

            程序如下:

             1 #include <cstdio>
             2 #include <string.h>
             3 
             4 void inline swap(char* a, char* b) {
             5     char temp = *a; *a = *b; *b = temp;
             6 }
             7 
             8 char *process(char *a, int len) {
             9     int i = len - 1;
            10     while (i >= 0 && a[i] != '*') --i;
            11     int j = i - 1;
            12     while (j >= 0 && a[j] == '*') --j;
            13     if (j >= 0) swap(a + i, a + j);
            14     --i, --j;
            15     while (j >= 0) {
            16         while (i >= 0 && a[i] != '*') --i;
            17         while (j >= 0 && a[j] == '*') --j;
            18         if (j >= 0) swap(a + i, a + j);
            19         --i, --j;
            20     }
            21 
            22     printf("%s\n", a);
            23     return a;
            24 }
            25 
            26 int main() {
            27     //char a[] = "*ab****cd*efg**h";
            28     char a[] = "**b****";
            29     printf("%s\n", process(a, strlen(a)));
            30     return 0;
            31 }
            32 
            posted on 2012-04-21 10:00 myjfm 閱讀(666) 評論(0)  編輯 收藏 引用 所屬分類: 筆試+面試總結
            区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 99久久精品午夜一区二区| 亚洲色欲久久久综合网东京热| 国产成人综合久久精品红| 少妇人妻88久久中文字幕| 国产精品久久久久久搜索| 久久久噜噜噜久久中文字幕色伊伊| 亚洲成av人片不卡无码久久| 久久久久99精品成人片欧美| 久久国产香蕉视频| 久久国产欧美日韩精品| 久久最新免费视频| 香蕉久久夜色精品国产小说| 亚洲AⅤ优女AV综合久久久| 国产精品福利一区二区久久| 久久久无码精品亚洲日韩京东传媒| 狠狠色丁香久久婷婷综合五月| 日本精品久久久久久久久免费| 久久综合久久综合九色| 2020国产成人久久精品| 久久99久久成人免费播放| 久久综合狠狠色综合伊人| 乱亲女H秽乱长久久久| 久久精品国产AV一区二区三区| 精品久久国产一区二区三区香蕉| 久久精品麻豆日日躁夜夜躁| 久久天天躁狠狠躁夜夜不卡| 亚洲AV伊人久久青青草原| 久久精品国产99久久香蕉| 国产精品99久久久久久董美香| 久久天天躁狠狠躁夜夜躁2O2O| 怡红院日本一道日本久久| 久久丫精品国产亚洲av| 亚洲伊人久久大香线蕉综合图片| 亚洲美日韩Av中文字幕无码久久久妻妇| 精品久久久久久中文字幕| 久久久久99精品成人片欧美 | 欧美伊香蕉久久综合类网站| 久久久久久国产精品免费无码| 国产成人精品免费久久久久| av无码久久久久不卡免费网站|