• <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從學校出發(fā)..1號線轉5號線然后打D到上海科技園..到了以后不知道怎么聯(lián)系面試官...囧...打電話問了下DY...然后1個mm來帶我去了某個空會議室...等了大概10min...一個胖胖的面試官進來了...先問了我一些項目經(jīng)歷之類的...然后問我會玩24點嗎?我說會。然后讓我算6,6,10,10....算不出來(后來發(fā)現(xiàn)這個根本沒有答案- -||)然后問我要怎么寫個程序來出24點的難題.....
            思考中.我說如果4個數(shù)可以化成2個數(shù)想乘積等于24,這四個數(shù)應該算是比較簡單的..然后他又提醒我從數(shù)學的角度定義..哎..還是想不出..后來才其實這個題目ms是開放性的....當時腦抽了..早知道和他胡扯一堆可以自圓其說就好了..然后他讓我做了一道比較水 的字符串的題目..當場在白板上寫代碼..就是給一個字符串,這個字符串由有空格隔開的單詞組成,處理這個字符串,使輸出的字符串相鄰的單詞不重復;如輸入what is is this,輸出what is this,實在是ACM的水題..但是還是出現(xiàn)了一些腦殘的錯誤,,回來重新敲了下代碼
            #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有很多細節(jié)問題..然后我又寫了一個DP的做法..但是復雜度太高了..然后面試官讓我我改線性的做法..ms怎么改都有點問題..我只好想了一個優(yōu)化的方法..大概混過去了..
                回來問了天哥..改了下,可以先處理一下字符串,如將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 閱讀(207) 評論(0)  編輯 收藏 引用
            亚洲国产另类久久久精品小说| 久久精品国产乱子伦| 久久99国产精品久久99果冻传媒| 国产精品久久久久影院嫩草| 91超碰碰碰碰久久久久久综合| 久久精品国产福利国产琪琪| 久久午夜免费视频| 国产91色综合久久免费| 久久精品综合一区二区三区| 亚洲国产精品无码久久一线| 久久美女网站免费| 久久狠狠爱亚洲综合影院| 青青热久久综合网伊人| 亚洲国产精品无码久久一区二区| 99久久亚洲综合精品网站| 亚洲av伊人久久综合密臀性色| 精品国产青草久久久久福利| 蜜臀久久99精品久久久久久小说| 久久国产精品免费一区二区三区| 久久午夜伦鲁片免费无码| 久久综合九色欧美综合狠狠| 久久电影网一区| 无码久久精品国产亚洲Av影片| 久久天天躁狠狠躁夜夜不卡 | 亚洲精品国产字幕久久不卡| 狠狠色综合久久久久尤物| 国产日产久久高清欧美一区| 久久久www免费人成精品| 亚洲国产精品嫩草影院久久| 久久久精品人妻无码专区不卡 | 伊人久久大香线蕉av一区| 久久精品国产精品亚洲| 亚洲欧美精品伊人久久| 亚洲伊人久久大香线蕉苏妲己| 999久久久无码国产精品| 久久国产精品无码一区二区三区| 午夜久久久久久禁播电影| 亚洲国产精品成人久久| 亚洲AV无一区二区三区久久| 久久精品aⅴ无码中文字字幕不卡 久久精品成人欧美大片 | 久久av高潮av无码av喷吹|