• <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>
            ccyy's coding zone
            往前走,不要留戀路邊的風景.
            posts - 25,comments - 9,trackbacks - 0
                     今天去微軟面試...緊張ing... 
                 中午11:00從學校出發..1號線轉5號線然后打D到上海科技園..到了以后不知道怎么聯系面試官...囧...打電話問了下DY...然后1個mm來帶我去了某個空會議室...等了大概10min...一個胖胖的面試官進來了...先問了我一些項目經歷之類的...然后問我會玩24點嗎?我說會。然后讓我算6,6,10,10....算不出來(后來發現這個根本沒有答案- -||)然后問我要怎么寫個程序來出24點的難題.....
            思考中.我說如果4個數可以化成2個數想乘積等于24,這四個數應該算是比較簡單的..然后他又提醒我從數學的角度定義..哎..還是想不出..后來才其實這個題目ms是開放性的....當時腦抽了..早知道和他胡扯一堆可以自圓其說就好了..然后他讓我做了一道比較水 的字符串的題目..當場在白板上寫代碼..就是給一個字符串,這個字符串由有空格隔開的單詞組成,處理這個字符串,使輸出的字符串相鄰的單詞不重復;如輸入what is is this,輸出what is this,實在是ACM的水題..但是還是出現了一些腦殘的錯誤,,回來重新敲了下代碼
            #include<stdio.h>
            #include<string.h>
            void Noduplicate(char *str,char *res)
            {
            int i=0,j=0,pre=-1;
            int l=strlen(str);
            while(i<l)
            {
            if(str[i]==' ')
            {
            res[j++]=str[i++];
            continue;
            }
            if(pre==-1||str[i]!=str[pre])
            {
            pre=i;
            while(i<l&&str[i]!=' ')
            {
            res[j++]=str[i++];
            }
            }
            else
            {
            int flag=0;
            int tmp_p=pre,tmp_i=i;
            while(tmp_i<l&&str[tmp_i]!=' '&&str[tmp_p]!=' ')
            {
            if(str[tmp_p]!=str[tmp_i])
            {
            flag=1;
            break;
            }
            tmp_i++;tmp_p++;
            }
            if(flag)
            {
            pre=i;
            while(str[i]!=' ')
            {
            res[j++]=str[i++];
            }
            }
            else
            i=tmp_i+1;

            }
            }
            res[j]='\0';
            }
            int main()
            {
            int i,j;
            char str[100],res[100];
            while(gets(str)!=NULL)
            {
            memset(res,0,sizeof(str));
            Noduplicate(str,res);
            printf("%s\n",res);
            }
            return 0;
            }
                 第一輪面完后又來了一個mm...進來讓我自我介紹幾句,就讓我做題..也是比較水的字符串匹配的題目..給兩個字符串是*s和*str,s由子母'*’組成,*可以表示i個*號前面的一個字符,i=0-n;str只有子母,問兩個串是否相同,例如*s="AB*C",*str="ABBBBBC",則連個字符串相同..
                 我先想了一個線性掃描的做法..但是ms有很多細節問題..然后我又寫了一個DP的做法..但是復雜度太高了..然后面試官讓我我改線性的做法..ms怎么改都有點問題..我只好想了一個優化的方法..大概混過去了..
                回來問了天哥..改了下,可以先處理一下字符串,如將AB*B改為ABB*,因為兩者是等價的..然后線性掃描就可以了...代碼如下
            #include<stdio.h>
            #include<string.h>
            bool ifmatch(char *s,char *str)
            {
            int i=0,j=0,k,pre=-1;
            int s_len=strlen(s);
            int str_len=strlen(str);
            for(i=0;i<s_len;i++)
            {
            if(s[i]!='*')
            pre=i;
            if(s[i]=='*')
            {
            if(s[i+1]!='*'&&s[i+1]==s[pre])
            {
            k=i;
            while(s[k]=='*')
            k--;
            k++;
            char temp=s[k];
            s[k]=s[i+1];
            s[i+1]=temp;
            }
            }
            }
            //printf("%s\n",s);
            pre=-1;
            i=0;j=0;
            while(i<s_len&&j<str_len)
            {
            if(s[i]!=str[j]&&s[i]!='*')
            return false;
            if(s[i]=='*')
            {
            while(str[j]==s[pre])
            j++;
            i++;
            }
            else
            {
            pre=i;
            i++;j++;
            }
            }
            if(j<str_len)
            return false;
            while(i<s_len)
            {
            if(s[i]!='*')
            return false;
            i++;
            }
            return true;
            }
            int main()
            {
            char s[200],str[200];
            while(scanf("%s %s",s,str)!=EOF)
            {
            if(ifmatch(s,str))
            printf("yes\n");
            else
            printf("no\n");
            }
            return 0;
            }
                  只面了兩輪就出來了..ms還比較水...明顯比DY大牛的水....累..還是感覺比較搓...
            posted on 2010-07-28 16:26 ccyy 閱讀(205) 評論(0)  編輯 收藏 引用
            国产69精品久久久久观看软件| 亚洲一本综合久久| 污污内射久久一区二区欧美日韩| 99久久久精品| 久久精品国产影库免费看| 国产L精品国产亚洲区久久| 99久久国产免费福利| 欧美国产成人久久精品| 国产午夜免费高清久久影院| 99久久精品国产毛片| 久久精品国产清自在天天线| 国产精品久久亚洲不卡动漫| 色综合合久久天天给综看| 国产精品久久久久久久久鸭| 日本加勒比久久精品| 国产成人精品久久二区二区| 香蕉久久永久视频| 777久久精品一区二区三区无码| 青青久久精品国产免费看| 国产精品乱码久久久久久软件 | 亚洲精品乱码久久久久久| 久久se精品一区精品二区| 精品久久久久久国产| 亚洲国产精品狼友中文久久久| 午夜天堂av天堂久久久| 99久久精品费精品国产| 久久99国产精品久久99小说| 国产视频久久| 国产精品久久久久久| 人妻精品久久久久中文字幕69| 中文成人久久久久影院免费观看| 成人久久精品一区二区三区| 久久久99精品一区二区| 中文精品久久久久国产网址| 久久99国产综合精品免费| 色妞色综合久久夜夜| 亚洲中文精品久久久久久不卡| 久久精品青青草原伊人| 理论片午午伦夜理片久久 | 亚洲国产精品狼友中文久久久| 久久久久四虎国产精品|