• <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 閱讀(206) 評論(0)  編輯 收藏 引用
            2021国内精品久久久久久影院| 91视频国产91久久久| 国产综合成人久久大片91| 91精品国产91久久久久久蜜臀| 久久久久久毛片免费看 | 亚洲香蕉网久久综合影视| 久久久噜噜噜久久熟女AA片| 亚洲国产精品久久66| 亚洲精品综合久久| 91精品国产91久久久久福利| 久久亚洲欧洲国产综合| 久久天天躁狠狠躁夜夜网站 | 久久青青草原亚洲av无码app| 欧美精品一区二区精品久久| 日本WV一本一道久久香蕉| 国内精品久久久久久久97牛牛| 国产日韩久久久精品影院首页 | 欧美成人免费观看久久| 996久久国产精品线观看| 久久久久久久97| 久久国产美女免费观看精品| 久久精品国产第一区二区三区| 久久se这里只有精品| 久久成人精品视频| 老色鬼久久亚洲AV综合| 亚洲精品国产综合久久一线| 久久国产精品久久久| 久久人人爽人人爽人人AV东京热| 香蕉99久久国产综合精品宅男自| 国产精品毛片久久久久久久| 久久婷婷五月综合97色| 亚洲级αV无码毛片久久精品 | 亚洲国产精品久久久久网站 | 蜜桃麻豆www久久国产精品| 国产一级做a爰片久久毛片| 久久精品国产亚洲AV麻豆网站 | 伊人久久大香线蕉综合网站| 成人国内精品久久久久影院VR| 久久精品国产精品亚洲精品| 77777亚洲午夜久久多喷| 久久午夜电影网|