• <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
            往前走,不要留戀路邊的風(fēng)景.
            posts - 25,comments - 9,trackbacks - 0
                 摘要:     這段時(shí)間掃了C++Primer,自己覺(jué)得比較有用的tips,僅作為自己參考...  1.如果要在多個(gè)變量中使用一個(gè)const變量,可以在一個(gè)頭文件中定義,然后再其他文件中include<>  或者可以在c++的源文件中定義,然后才其他源文件中extern 2.標(biāo)準(zhǔn)頭文件用#inclue<> &nb...  閱讀全文
            posted @ 2011-07-31 19:00 ccyy 閱讀(338) | 評(píng)論 (0)編輯 收藏
               

            題目:有一個(gè)鏈表L,其每個(gè)節(jié)點(diǎn)有2個(gè)指針,一個(gè)指針next指向鏈表的下個(gè)節(jié)點(diǎn),另一個(gè)random隨機(jī)指向鏈表中的任一個(gè)節(jié)點(diǎn),可能是自己或者為空,寫一個(gè)程序,要求復(fù)制這個(gè)鏈表的結(jié)構(gòu)并分析其復(fù)雜性

             

            解決方法一:

            O(n)的復(fù)雜度,掃面兩邊即可。

                                                                             圖【1】
            圖【1】是需要復(fù)制的鏈表


                                                                          圖【2】

            如圖【2】所示,ABCD是原來(lái)的鏈表,A’B’C’D’是復(fù)制的鏈表,第一遍掃描順序復(fù)制next指針,把ABCDnext分別指向A’B’C’D’,將A’next指針指向BB’next指針指向C,依次類推

            復(fù)制random指針: A’->random=A->random->next

            恢復(fù):A->next=A’->next;A’->next=A’->next->next;

             

             

            解決方法二:

            也是O(n)的時(shí)間復(fù)雜度。。。


                                                                                圖【3】

             

            如圖【3】,第一次遍歷將要復(fù)制的鏈表A’ B’ C’ D’插入員鏈表中,然后再一次遍歷復(fù)制random指針:A->next->random=A->random->next;

            恢復(fù)很簡(jiǎn)單:A->next=A->next->next;A’-next=A’->next->next;


            轉(zhuǎn)載請(qǐng)注明出處。

            posted @ 2011-04-02 23:01 ccyy 閱讀(4746) | 評(píng)論 (2)編輯 收藏
             

             又去微軟面試了,面試的技術(shù)支持

             沒(méi)算好時(shí)間,結(jié)果早到了一個(gè)多小時(shí)…2點(diǎn)左右HR把我領(lǐng)到二樓的一個(gè)房間里,等了一會(huì)兒,面試官來(lái)了。第一個(gè)面試官主要問(wèn)的是項(xiàng)目和C語(yǔ)言的理解程度,問(wèn)的很細(xì),而且一個(gè)接一個(gè),速度很快,以致與我現(xiàn)在基本忘記問(wèn)的什么了,只記得問(wèn)了調(diào)用一個(gè)函數(shù)的時(shí)候參數(shù)是怎么傳的,函數(shù)調(diào)用時(shí)參數(shù)壓入堆棧的順序(回去看了<C專家編程>,里面有講到,真是書到用時(shí)方恨少,平時(shí)真的看的書太少了),還有一些位圖的結(jié)構(gòu)是什么,我說(shuō)是文件頭然后是一堆像素,然后又問(wèn)文件頭由哪幾個(gè)部分組成,這個(gè)真的不知道了。總之好像是想到什么問(wèn)什么,還問(wèn)了些匯編的東西,都是很基礎(chǔ)的,大概面了30分鐘吧結(jié)束了,然后繼續(xù)在房間里等。已經(jīng)在那里工作的學(xué)長(zhǎng)汪愈舟還過(guò)來(lái)給我加了下油。

            然后又進(jìn)來(lái)一個(gè)面試官,先聊了下,然后讓我寫100!,結(jié)果我寫了標(biāo)準(zhǔn)的高精度,寫了三頁(yè)紙,面試官很驚訝:要寫那么長(zhǎng)么,回來(lái)的時(shí)候天哥說(shuō)他10行搞定,說(shuō)是高精乘低精悲催,然后也問(wèn)了很多的問(wèn)題,主要是關(guān)于windows的,usermodekernermode的區(qū)別,函數(shù)a調(diào)用函數(shù)b在堆棧上的實(shí)現(xiàn),這些基本回答了。兩個(gè)同樣性能的計(jì)算機(jī),為什么一臺(tái)機(jī)器打開(kāi)word較快一臺(tái)較慢,windows的基本輸入輸出方式..這兩個(gè)問(wèn)題杯具了。最后問(wèn)了下匯編的東西,問(wèn)我8086的匯編EAXEBX,很基礎(chǔ)的。由于課堂上講的都是AX,BX結(jié)果比較杯具,面試官提醒說(shuō)EAXEBX32位機(jī)的寄存器,AX,BX16位機(jī)的寄存器。。。面試官面完大概4點(diǎn)多。

            等了會(huì),又進(jìn)來(lái)一個(gè)面試官,這個(gè)面試官感覺(jué)比較和善,沒(méi)有很多技術(shù)性的問(wèn)題,先讓我寫了個(gè)快排,以為之前有看過(guò),很快就解決了。然后聊了下比賽啊,項(xiàng)目什么的,然后問(wèn)我有什么要問(wèn)的.想了一會(huì),就問(wèn)了下是否需要實(shí)習(xí)什么的,基本上結(jié)束了。

            希望不要又杯具的被默拒啊..沒(méi)想到微軟這么快就叫我去面試..

            God close a door He sometimes opens another…I hope it is true.

                                                         2011.3.10
            posted @ 2011-03-15 17:27 ccyy 閱讀(388) | 評(píng)論 (0)編輯 收藏
             

            人生的第二次面試..上海旭剛市場(chǎng)研究有限公司..just for practice

            上海市南京西路中欣大廈進(jìn)去hr先給了一個(gè)張筆試題
            1.
            數(shù)字1,2,3,4,5,6,7,8,9,10,12,13,14,……10000遺漏了一個(gè)數(shù)字,用簡(jiǎn)便快速的方法找出這個(gè)數(shù)字,例子中是11

            我寫了二分查找算法,假設(shè)了這些數(shù)是存在連續(xù)的數(shù)組里面的..

            void Find_lost_number()

            {

                     int left=1,right=10000;

                     int mid;

                     int lost_number;

                     while(left<right)

                     {

                               mid=(left+right)/2;

                               if(arr[mid]!=arr[mid-1]+1)

                               {

                                        lost_number=arr[mid-1]+1;

                                        break;

                               }

                               else if(arr[mid]!=arr[mid+1]-1)

                               {

                                        lost_number=arr[mid+1]-1;

                                        break;

                               }

                               if(arr[mid]<mid)

                                        right=mid;

                               else

                                        left=mid;

                     }

            }

            后來(lái)回來(lái)請(qǐng)教某牛,某牛居然說(shuō)小學(xué)數(shù)學(xué)題,把所有數(shù)加起來(lái)比較就行了,想想真是……原來(lái)這么簡(jiǎn)單啊,汗……….

            2.給一個(gè)數(shù)組找出最小值的下標(biāo)

            水啊,好像線性掃描就可以了..

            3.你有9個(gè)西服牌子,有兩百個(gè)人,20-29的男性50人,20-29的女性50人,30-39的男性50人,30-39的女性人數(shù)50人,每個(gè)人隨機(jī)選4個(gè)牌子,問(wèn)如何隨機(jī)分配,使不同年齡段不同性別的人得到的西服牌子盡量相同。

             

            這是什么神馬題目,完全沒(méi)思路啊,隨便寫寫交了..

             

            等了一會(huì)兒,去面試了沒(méi)想到那么輕松,感覺(jué)就是隨便聊了一會(huì),有沒(méi)在實(shí)習(xí)什么的,要不要留上海之類的,工作有什么打算,還問(wèn)了下薪資期望,這個(gè)不是應(yīng)該最后要錄取的時(shí)候問(wèn)嗎隨便說(shuō)了個(gè)六七千,…..然后還留了個(gè)任務(wù),說(shuō)完成了再聊,好像是轉(zhuǎn)換數(shù)據(jù),要我用excelSPSS都做一遍然后寫個(gè)報(bào)告…..

             That’s all for today 2011.3.4

            posted @ 2011-03-04 23:49 ccyy 閱讀(401) | 評(píng)論 (1)編輯 收藏

                 電腦中的圖像類型分為兩大類,一類稱為點(diǎn)陣圖(位圖),一類稱為矢量圖。 
              點(diǎn)陣圖顧名思義就是由點(diǎn)構(gòu)成的,如同用馬賽克去拼貼圖案一樣,每個(gè)馬賽克就是一個(gè)點(diǎn),若干個(gè)點(diǎn)以矩陣排列成圖案。 
              數(shù)碼相機(jī)拍攝的照片、掃描儀掃描的稿件以及絕大多數(shù)的圖片都屬于點(diǎn)陣圖,如一個(gè)典型的點(diǎn)陣圖: 
              把這幅圖片調(diào)入Photoshop,使用菜單【圖像>圖像大小】就可以看到圖像信息:
              注意上部像素大小中的寬度和高度,分別是400像素和225像素。 
              像素是什么?像素就是組成點(diǎn)陣圖像中的那些點(diǎn),是點(diǎn)陣圖最小的單位。如同拼成圖案的那許多馬賽克一樣。 
              在Photoshop狀態(tài)欄左端的縮放倍數(shù)往右一些的區(qū)域,按住ALT鍵單擊也會(huì)出現(xiàn)像素?cái)?shù)量信息,如果沒(méi)有狀態(tài)欄可用菜單【窗口>狀態(tài)欄】打開(kāi)。  如果我們放大圖像〖快捷鍵 CTRL +〗,就會(huì)看到點(diǎn)也同時(shí)被放大了,這時(shí)就會(huì)出現(xiàn)所謂的馬賽克現(xiàn)象(也稱鋸齒現(xiàn)象)。  
                我們可以看到有許多不同顏色的小正方形,那就是被放大的像素。每個(gè)像素只能有一個(gè)顏色。 
              寬400像素,高225像素,意味這幅圖像由橫方向400個(gè)點(diǎn)、豎方向225個(gè)點(diǎn)組成,400x225=90000,圖像的總像素?cái)?shù)量就是9萬(wàn)。 
              數(shù)碼相機(jī)有一個(gè)很重要的指標(biāo)就是300萬(wàn)像素、500萬(wàn)像素這樣的稱呼,就是指拍攝出來(lái)圖像中的像素總量。 

              放大縮小圖像的快捷鍵是〖CTRL +〗〖CTRL -〗,這種放大會(huì)沿著圖像的中心點(diǎn)放大。 
              還有一種定點(diǎn)放大方式是按住空格和CTRL鍵,用鼠標(biāo)單擊圖像的一個(gè)部分,這樣會(huì)以單擊的地方作為中心放大。縮小是按住空格和ALT鍵單擊。 
              如果縮放程度不夠可重復(fù)以上操作。圖像窗口的標(biāo)題欄、以及Photoshop下方狀態(tài)欄的左端,都會(huì)顯示縮放倍數(shù)。 
              嚴(yán)格來(lái)說(shuō)應(yīng)該是先按CTRL再按空格。但是在中文Windows下這正好是默認(rèn)的中文輸入法切換方式。因此建議先按空格再按CTRL。 
              如果圖像超過(guò)了圖像窗口的大小,將在右方和下方出現(xiàn)滾動(dòng)條,此時(shí)拉動(dòng)滾動(dòng)條即可移動(dòng)觀看區(qū)域(不是移動(dòng)圖像)。 
              也可按住空格鍵在圖像中按下鼠標(biāo)拖動(dòng)。當(dāng)鼠標(biāo)開(kāi)始拖動(dòng)以后,空格鍵可以松開(kāi)。 
              以上的幾個(gè)快捷鍵是最常用的。要把它們記住,這將讓你的操作變得迅速。 
                像素是不是越多越好呢?從大部分情況來(lái)說(shuō)是的,圖像的像素越多,記錄的信息也越詳細(xì),圖像的局部就越細(xì)致 



                 矢量格式圖象 

              假設(shè)我們寫了一首新的樂(lè)曲,要把它交給唱片公司,可以通過(guò)兩種方式: 
              把這首樂(lè)曲彈奏出來(lái)并錄制在磁帶上。 
              把這首樂(lè)曲的樂(lè)譜寫下來(lái)。 
              這兩種方式的最大區(qū)別在于記錄的形式。 
              前者是記述性的。包含樂(lè)曲的音頻信息。其中的所有信息都是固定的,如演奏速度、樂(lè)器音色等。如果你想把笛子換成排簫,那就要重新錄制一遍。 
              后者是描述性的,不包含音頻信息,只包含對(duì)樂(lè)曲音律的描述。如果要改變演奏速度或樂(lè)器音色,只要在樂(lè)譜中修改一下就好。 
              點(diǎn)陣圖像就屬于記述性,以點(diǎn)為記錄的對(duì)象。而矢量圖像屬于描述性,以線段和計(jì)算公式作為記錄的對(duì)象。 

              比如直線: 
              如果以點(diǎn)陣方式來(lái)記錄,就是從左上角第一個(gè)點(diǎn)開(kāi)始,到右下角最后一個(gè)點(diǎn)結(jié)束,記錄所有像素的顏色。 
              記錄這幅圖像(200 x 50像素)就需要1萬(wàn)個(gè)信息。即使這條直線本身并沒(méi)有那么多像素,但點(diǎn)陣方式也是完整的把整幅圖的像素記錄下來(lái)。 
              因此不管是一條直線還是兩條三條,對(duì)于點(diǎn)陣圖像來(lái)說(shuō)都是一樣的。都是去逐個(gè)記錄圖像中的所有像素。 

              如果用矢量來(lái)記錄這條直線,只需要三個(gè)信息:直線起點(diǎn)坐標(biāo)、直線終點(diǎn)坐標(biāo)、直線的顏色。 
              在還原的時(shí)候就利用這三個(gè)信息去生成圖像,就如同樂(lè)隊(duì)把樂(lè)譜演奏出來(lái)一樣。

              由于矢量的這種特點(diǎn),使得它非常便于修改。 
              比如要把上圖的直線旋轉(zhuǎn)一下,點(diǎn)陣方式就需要重新記錄所有改動(dòng)過(guò)的像素信息。而矢量圖只需要改動(dòng)起點(diǎn)和終點(diǎn)的坐標(biāo)就好了。 
              當(dāng)放大圖像的時(shí)候,點(diǎn)陣圖像會(huì)產(chǎn)生模糊和鋸齒。就如同錄音帶播放時(shí)候加速產(chǎn)生的變調(diào)。對(duì)圖像質(zhì)量是有損失的。 
              而矢量圖像是根據(jù)放大后的坐標(biāo)重新生成圖像,不會(huì)產(chǎn)生模糊和鋸齒。就如同樂(lè)隊(duì)根據(jù)新樂(lè)譜重新演奏。對(duì)圖像質(zhì)量是沒(méi)有損失的。 
              為什么在第一次縮小之后沒(méi)有看出區(qū)別呢? 
              這是因?yàn)榭s小點(diǎn)陣圖像是不會(huì)產(chǎn)生模糊的,在丟棄原先的一些像素后,剩下的像素是足夠描述圖像的,并沒(méi)有產(chǎn)生像素空缺。而放大后才產(chǎn)生了像素空缺。 

              為什么矢量圖像“飽經(jīng)風(fēng)霜”卻依舊“面不改色”呢?這就是因?yàn)榍懊嬲f(shuō)過(guò)的矢量圖像的特點(diǎn):通過(guò)記憶線段的坐標(biāo)來(lái)記錄圖像。 
              圖像放大縮小的同時(shí)坐標(biāo)也放大縮小,而各個(gè)坐標(biāo)之間的相對(duì)位置并沒(méi)有改變。然后根據(jù)改動(dòng)后的坐標(biāo)重新生成圖像。因此無(wú)論放大多少都不會(huì)失真。

            posted @ 2011-02-15 11:05 ccyy 閱讀(1158) | 評(píng)論 (0)編輯 收藏
            I believe someone  who is writing blog is nothing more than show himself off ,I won't be one of them any more.
            posted @ 2010-10-19 20:03 ccyy 閱讀(174) | 評(píng)論 (0)編輯 收藏
            篩素?cái)?shù),在天哥的威逼利誘下改了篩素?cái)?shù)的模板...以后PE都python了...
            #Firename:pe37.py
            import math
            N=1000000
            prime = [0 for row in range(N)]
            res = []
            top=0
            def Prime():
                for i in range (2,N):
                    prime[i]=1
                prime[0],prime[1]=0,0
                for m in range(2,N): 
                    if prime[m]==1:
                        prime[m]=1
                        res.append(m)
                        for k in range(2*m,N,m):
                            prime[k]=0
            tot=0
            Prime()

            for i in range(len(res)):
                temp=res[i]
                flag=0
                while temp>0:
                    if prime[temp]!=1:
                        flag=1
                        break
                    temp/=10
                temp=res[i]
                t=1
                while temp>0:
                    temp/=10
                    t*=10
                temp=res[i]
                while t>0:
                    if prime[temp]!=1:
                        flag=1
                        break
                    tmp=temp/t
                    temp=temp-tmp*t
                    t/=10
                if flag==0 and res[i]>10:
                    top+=1
                    tot+=res[i]
            print tot
            print top
            后來(lái)發(fā)現(xiàn)python里面原來(lái)有直接可以求素?cái)?shù)的函數(shù)  - -||
            #prime_list(n) 返回一個(gè)list,存1 - n 內(nèi)的素?cái)?shù)
            #prime_table(n) 返回一個(gè)list,用0 1 表示是不是素?cái)?shù)        
                        

            posted @ 2010-08-29 21:54 ccyy 閱讀(170) | 評(píng)論 (0)編輯 收藏
                繼續(xù)研究C++builder,ms程序里有某個(gè)變量溢出了..但是百思不得其解..于是向萬(wàn)老師請(qǐng)教C++builder的調(diào)試方法..然后萬(wàn)老師教了我一個(gè)她自己調(diào)試方法..感覺(jué)很實(shí)用..類似于VC里面調(diào)試的printf();
            (1)Form的方法ShowMessage(String);
            這個(gè)函數(shù)可以把出你想知道的任意中間變量的值用消息框的形式顯示出來(lái)。
            Example:
            int Varies;
            Form1->ShowMessage(IntToStr(Varies));
            (2)利用Form的Memo控件
            可以同時(shí)查看很多變量;先在窗體中添加一個(gè)Memo控件,然后調(diào)用Memo->Lines->Add(String)把要觀察的變量加進(jìn)去;
            Example:
            float sum=0;
            for(i=1;i<=100;i++)
             { 
                  sum+=1.0/i;
                 Form1->Memo->Lines->Add(FloatToStr(sum));
            }
            試過(guò)..不錯(cuò)~~
            posted @ 2010-08-28 01:17 ccyy 閱讀(851) | 評(píng)論 (0)編輯 收藏

            8.24

            今天去問(wèn)了萬(wàn)老師….萬(wàn)老師是果然是C的牛人啊聽(tīng)她說(shuō)她以前做的項(xiàng)目仰慕中聽(tīng)她說(shuō)以前C語(yǔ)言和她讀書的事情…..很好玩~~…

            解決了一些問(wèn)題:

            1.      怎么使Plane和界面相符合

            Plane->Align可以改

            2.      Label的字體大小

            Label->font

            3.直接在頭文件里面添加變量和通過(guò)newfield添加有區(qū)別嗎

               沒(méi)有

            4.      Mousemove&&Mousedown&&Mouseup

            Form的響應(yīng)函數(shù),研究ing

            5.      Timer 的用法

            MFCOnTimer類似..

            6.      Scree.

            7.      關(guān)于rand()

             

               感覺(jué)今天最大的收獲就是學(xué)會(huì)了怎么用幫助文檔以前都不知道.

               還順便問(wèn)了一下抽獎(jiǎng)程序的問(wèn)題..shmm他們說(shuō)要做個(gè)抽獎(jiǎng)程序….聽(tīng)萬(wàn)老師說(shuō)的ms不是很難..原來(lái)滾動(dòng)條顯示名字都是假象真實(shí)的情況是產(chǎn)生一個(gè)隨機(jī)數(shù)然后把響應(yīng)的明字顯示出來(lái)就可以了..

                   C++builder 真的挺不錯(cuò)的..個(gè)人感覺(jué)比MFC簡(jiǎn)單實(shí)用

            posted @ 2010-08-25 12:43 ccyy 閱讀(194) | 評(píng)論 (0)編輯 收藏
            研究python ing 什么都不懂的...
            刷水題練python...
            #Fiename:pe44.py
            import math
            arr = [0 for row in range(10000)]
            def check(x):
                i=int(math.sqrt(x*0.2/3))-1
                while (i*(i*3-1))/2<x:
                    i=i+1
                if i*(i*3-1)/2==x:
                    return 1
                return 0
            for i in range (1,3000):
                arr[i]=i*(i*3-1)/2
            Max=0xfffffff
            for i in range (1,3000):
                for j in range(i+1,3000):
                    if check(arr[i]+arr[j])==1 and check(arr[j]-arr[i])==1 and arr[j]-arr[i]<Max:
                        Max=arr[j]-arr[i]
            print Max

            posted @ 2010-08-21 22:24 ccyy 閱讀(288) | 評(píng)論 (0)編輯 收藏
            僅列出標(biāo)題  下一頁(yè)
            国产成人久久777777| 国产精品久久久久久久app| 国产精品久久久天天影视香蕉| 一级做a爰片久久毛片16| 亚洲午夜福利精品久久| 国产精品久久毛片完整版| 少妇无套内谢久久久久| 久久精品国产免费| 欧美日韩久久中文字幕| 久久久中文字幕| 伊人久久综合精品无码AV专区| 久久91精品国产91久久麻豆| 狠狠色综合网站久久久久久久高清 | 99久久无码一区人妻a黑| 久久久精品久久久久久| 91精品国产综合久久婷婷| 久久久久久久久66精品片| 国产精品免费看久久久香蕉| 色偷偷偷久久伊人大杳蕉| 欧美久久天天综合香蕉伊| 国产成人精品久久亚洲高清不卡 | 影音先锋女人AV鲁色资源网久久 | 久久青青草原精品影院| 亚洲∧v久久久无码精品| 一本久久综合亚洲鲁鲁五月天| 国产精品青草久久久久福利99 | 久久久久久一区国产精品| 久久国产免费观看精品| 久久国产亚洲精品无码| 午夜精品久久久久久99热| 久久午夜无码鲁丝片秋霞| 超级碰碰碰碰97久久久久| 午夜精品久久影院蜜桃| 久久露脸国产精品| 久久精品无码一区二区app| 久久成人精品| 久久噜噜久久久精品66| 亚洲国产精品无码久久九九| 亚洲伊人久久成综合人影院 | 精品久久久久国产免费| 国产精品女同一区二区久久|