锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲蜜桃精久久久久久久,在线播放亚洲,欧美成人免费在线http://www.shnenglu.com/Joe/鍧氫俊錛氬嫟鑳借ˉ鎷?/description>zh-cnSun, 16 Nov 2025 08:07:51 GMTSun, 16 Nov 2025 08:07:51 GMT602011鎵懼伐鎬葷粨http://www.shnenglu.com/Joe/archive/2012/02/27/166619.htmlsimplyzhaosimplyzhaoMon, 27 Feb 2012 05:19:00 GMThttp://www.shnenglu.com/Joe/archive/2012/02/27/166619.htmlhttp://www.shnenglu.com/Joe/comments/166619.htmlhttp://www.shnenglu.com/Joe/archive/2012/02/27/166619.html#Feedback0http://www.shnenglu.com/Joe/comments/commentRss/166619.htmlhttp://www.shnenglu.com/Joe/services/trackbacks/166619.html
11騫翠節(jié)鏈堜笅鏃刀鍥炲幓鍙傚姞瓚嬪娍縐戞妧鍦ㄥ崡浜殑絎旇瘯錛屽茍鎴愬姛鍦板湪鍗佷竴涔嬪墠鎷垮埌offer錛岃寰椾粠鍗椾含鍧愰珮閾佸洖瀹訛紝鎬閲屾彛鐫瓚嬪娍鐨刼ffer寰堟槸蹇冨畨錛屼篃緇欎簡鑷繁寰堝ぇ鐨勪俊蹇冿紙鍥犱負錛屼竴鐩磋寰楄嚜宸變粠騫垮窞璺戝洖鍗椾含涓婃搗鎵懼伐浼氬浜庡姡鍔匡級錛岃嚦浠婂浜庤秼鍔跨鎶闈㈣瘯鐨勮交鏉炬皼鍥達紝鍖呮嫭鏈鍚庣殑緹ら潰閮藉嵃璞℃繁鍒伙紝鏄竴瀹跺緢nice鐨勫叕鍙搞?br />
浼戝畬鍗佷竴鍋囨湡灝辮刀鍘諱笂嫻鳳紝鍦ㄤ笂嫻峰鏃﹀憜浜嗕釜鎶婃湀錛屾劅璋㈣垗鍙嬪江鍗氬府鎴戝湪澶嶆棪鎵懼埌钀借剼鍦般?br />鍦ㄤ笂嫻鳳紝鍓嶅墠鍚庡悗鍙傚姞浜嗗緢澶氱殑絎旇瘯闈㈣瘯錛屾渶緇堟嬁鍒頒簡婊℃剰鐨刼ffer錛屽幓浜咵MC錛屽敖閲忓緱鑺?000澶ф磱鐨勬瘉綰﹁垂銆?br />
鎺ㄨ崘鍏徃錛欵MC錛孴rendMicro錛孧arvell

“緇忛獙”錛?br />鑷俊&寰瑧錛岀啛緇冩帉鎻′竴闂ㄨ璦(濡侰)錛屾暟鎹粨鏋勪笌綆楁硶(鎺ㄨ崘銆婄畻娉曞璁恒?錛屾搷浣滅郴緇?鎺ㄨ崘銆婃繁鍏ョ悊瑙h綆楁満緋葷粺銆?錛屾湁涓埆“鎷垮緱鍑烘墜”鐨勫皬欏圭洰錛岃嫳璇?br />
----------------------------------------------------------------------------------------------------------------
鎵鏈夋姇閫掔畝鍘嗗叕鍙擱偅闀塊暱鐨勫垪琛?鎺掑悕鎸夋姇閫掔畝鍘嗙殑鏃墮棿欏哄簭)錛?br />
1. 鐖辯珛淇?涓婃搗
SH01 Software Design Engineer (涓婃搗) 
[宸茬瑪璇? 閫氳繃緹ら潰, 鏀懼純]
2. 瓚嬪娍縐戞妧 Trend Micro (涓婃搗)
杞歡宸ョ▼甯?/div>
https://campus.trendmicro.com.cn
[宸茬瑪璇? 宸查潰璇? OFFER]
3. Marvell (涓婃搗) 
[宸茬瑪璇曪紝宸查潰璇曪紝OFFER]
4. 鐧懼害 (涓婃搗)
[鏃墮棿鍐茬獊錛屾斁寮僝
5. 鍗庝負
杞歡鐮斿彂宸ョ▼甯?鎬ц兘/綆楁硶宸ョ▼甯?/div>
[鏀懼純]
6. 椋炲埄嫻?鑻忓窞 (涓婃搗)
宓屽叆寮忚蔣浠跺紑鍙戝伐紼嬪笀 杞歡搴旂敤寮鍙戝伐紼嬪笀
[鏀懼純]
7. Google (涓婃搗)
[鏀懼純]
8. nVidia 鑻變紵杈?(涓婃搗)
GPU Architect
[鏀懼純]
9. EMC (涓婃搗)
Software Development Engineer 涓婃搗
[宸茬瑪璇? 宸查潰璇? OFFER]
10. AMD (涓婃搗)
System Software Engineer
[鏈ㄦ湁絎旇瘯鏈轟細]
11. 鑵捐 (涓婃搗)
鍚庡彴寮鍙?涓婃搗
[宸茬瑪璇? 宸查潰璇? OFFER]
12. 寰蔣 (涓婃搗)
杞歡寮鍙戝伐紼嬪笀 涓婃搗
[鏃墮棿鍐茬獊錛屾斁寮僝
13 Samsung (鍗椾含)
鎵嬫満寮鍙?鍗椾含
[鏀懼純]
14 IBM CSTL (涓婃搗)
storage software engineer
[娌℃秷鎭痌
15. Intel (涓婃搗)
zhaopin.com
[鏈ㄦ湁絎旇瘯鏈轟細]
16. Cisco (涓婃搗)
embedded software development engineer
[鏀懼純]
17. 澶т紬鐐硅瘎緗?(涓婃搗)
鎶鏈煿璁敓 - 寮鍙?/div>
[鏀懼純]
18. 闃垮皵鍗$壒鏈楄 (涓婃搗)
[鏀懼純]
19. 鏀粯瀹?(涓婃搗)
[鏀懼純]
20. 涓埅鏃犵嚎鐢?(涓婃搗)
[鏀懼純]
21. Oracle (涓婃搗)
[宸查潰璇曪紝綆楁槸緇欎簡OFFER]
22. 姹熻嫃縐誨姩
[鏀懼純]




]]>2011鐭ヨ瘑鐐?- 澶氭佺殑C瀹炵幇http://www.shnenglu.com/Joe/archive/2011/10/20/158766.htmlsimplyzhaosimplyzhaoThu, 20 Oct 2011 09:22:00 GMThttp://www.shnenglu.com/Joe/archive/2011/10/20/158766.htmlhttp://www.shnenglu.com/Joe/comments/158766.htmlhttp://www.shnenglu.com/Joe/archive/2011/10/20/158766.html#Feedback0http://www.shnenglu.com/Joe/comments/commentRss/158766.htmlhttp://www.shnenglu.com/Joe/services/trackbacks/158766.html
/* how to simulate C++'s polymorphism with C */
#include
<stdio.h>
#include
<stdlib.h>
#include
<string.h>

/* declaration of virtual method */
typedef 
void (*Func1)(void);
typedef 
void (*Func2)(int);
typedef 
void (*Func3)(char *);

/* ------------------- Base Class begin ------------------*/
void func1_base(void)
{
    printf(
"func1_base(void) called\n");
}

void func2_base(int item)
{
    printf(
"func2_base(%d) called\n", item);
}

struct Vtbl_Base {
    Func1 f1;
    Func2 f2;
};
struct Vtbl_Base bvtbl = {&func1_base, &func2_base};

struct Base {
    
void *vptr; /* pointer to VTABLE */
    
int field_base;
};

void Base_Init(struct Base *baseint value)
{
    
base->vptr = &bvtbl;
    
base->field_base = value;
}

/* ------------------- Base Class end ------------------*/

/* ------------------- Derived Class begin ------------------*/
void func1_derived(void)
{
    printf(
"func1_derived(void) called\n");
}

void func3_derived(char *item)
{
    printf(
"func3_derived(%s) called\n", item);
}

struct Vtbl_Derived {
    
struct Vtbl_Base vtbl_base;
    Func3 f3;
};
struct Vtbl_Derived dvtbl = {{&func1_derived, &func2_base}, &func3_derived};

struct Derived {
    
struct Base base;
    
int field_derived;
};

void Derived_Init(struct Derived *derived, int b, int d)
{
    Base_Init((
struct Base *)derived, b);
    derived
->base.vptr = &dvtbl;
    derived
->field_derived = d;
}

/* ------------------- Derived Class end ------------------*/

void 
test_polymorphism(
struct Base *obj)
{
    ((
struct Vtbl_Base *)(obj->vptr))->f1();
    ((
struct Vtbl_Base *)(obj->vptr))->f2(obj->field_base);
}

int
main(
int argc, char **argv)
{
    
struct Base base;
    Base_Init(
&base128);
    test_polymorphism(
&base);

    
struct Derived derived;
    Derived_Init(
&derived, 128256);
    test_polymorphism((
struct Base *)&derived);

    ((
struct Vtbl_Derived *)(*(int *)&derived))->f3("polymorphism");
}


]]>
2011濂介 - Young姘忕煩闃礫zz]http://www.shnenglu.com/Joe/archive/2011/10/16/158483.htmlsimplyzhaosimplyzhaoSun, 16 Oct 2011 11:11:00 GMThttp://www.shnenglu.com/Joe/archive/2011/10/16/158483.htmlhttp://www.shnenglu.com/Joe/comments/158483.htmlhttp://www.shnenglu.com/Joe/archive/2011/10/16/158483.html#Feedback0http://www.shnenglu.com/Joe/comments/commentRss/158483.htmlhttp://www.shnenglu.com/Joe/services/trackbacks/158483.html

杞? 


涓涓?m*n 鐨?Young 姘忕煩闃?Young tableau) 鏄竴涓?m*n 鐨勭煩闃?鍏朵腑姣忎竴琛岀殑鏁版嵁閮戒粠宸﹀埌鍙蟲帓搴?姣忎竴鍒楃殑鏁版嵁閮戒粠涓婂埌涓嬫帓搴?Young 姘忕煩闃典腑鍙兘浼氭湁涓浜?nbsp; ∞ 鏁版嵁欏?琛ㄧず涓嶅瓨鍦ㄧ殑鍏冪礌.鎵浠?Young 姘忕煩闃靛彲浠ョ敤鏉ュ瓨鏀?r<= mn 涓湁闄愮殑鍏冪礌.
a).鐢諱竴涓寘鍚珄9,16,3,2,4,8,5,14,12} 鐨?*4 鐨?Young 姘忕煩闃?

b).緇欏嚭涓涓湪闈炵┖ m*n 鐨?Young  姘忕煩闃典笂瀹炵幇 EXTRACT-MIN 綆楁硶,浣垮叾榪愯鏃墮棿涓篛(m+n).

c).璇存槑濡備綍鍦∣(m+n)鏃墮棿鍐?灝嗕竴涓柊鍏冪礌鎵嬪叆鍒頒竴涓湭婊$殑 m*n Young 姘忕煩闃典腑.

d).緇欏嚭涓涓椂闂村鏉傚害涓?O(n^3) 鐨勫 n*n Young 姘忕煩闃墊帓搴忕殑綆楁硶.

e).緇欏嚭涓涓繍琛屾椂闂翠負O(m+n) 鐨勭畻娉?鏉ュ喅瀹氫竴涓粰瀹氱殑鏁版槸鍚﹀瓨鍦ㄤ簬涓涓粰瀹氱殑 m*n  鐨?Young 姘忕煩闃靛綋涓?

絳?/p>

a).  2     3      4      5

8     9     12    14

16    ∞      ∞     ∞

∞     ∞      ∞     ∞

PS.璇ョ煩闃靛茍涓嶆槸鍞竴鐨?

b). (1)鐢ㄩ掑綊鐨勬濇兂.鍦?Young 姘忕煩闃典腑錛岄氳繃閫掑綊鐨勮В鍐?m-1)*n,鎴杕*(n-1) 鐨勫瓙闂鏉ユ眰瑙?鍒欐湁 T(m,n)=T(m-1,n) or T(m,n-1)+ O(1),鏄劇劧,T=O(m+n).浼唬鐮佸涓?

EXTRACT_MIN(Young[1...m] [1...n])
EXTRACT_MIN=Young[1][1]; //綾諱技FORTRAN鐨勫啓娉?鍑芥暟鍚嶅嵆鏄繑鍥炲?
Young[1][1]= INFINITY;
ADJUST_TO_YOUNG(Young[1...m] [1...n]);
END

ADJUST_TO_YOUNG(Young[x...m] [y...n])
if(Young[x][y]==∞)
return;
if(Young[x+1][y]>Young[x][y+1])
swap(Young[x][y], Young[x][y+1]);
ADJUST_TO_YOUNG(Young[x...m][y+1...n]);
else
swap(Young[x][y], Young[x+1][y]);
ADJUST_TO_YOUNG(Young[x+1...m][y...n]);
END

(2)綾諱技鍫嗙殑鍒犻櫎錛氬皢Young[1][1]涓庢渶鍙充笅瑙掑厓绱犱氦鎹? 鐒跺悗縐誨姩Young[1][1]澶勭殑鍏冪礌鑷沖悎閫備綅緗紝鍗蟲妸瀹冧笌鍙蟲柟鎴栦笅鏂瑰厓绱犵殑姣旇緝,騫朵笌鍏朵腑杈冨皬鐨勪竴涓氦鎹?鍙嶅榪涜鐩村埌瀹冧笉澶т簬瀹冨彸鏂瑰拰涓嬫柟鐨勫厓绱犱負姝?

c).  綾諱技鍫嗙殑鎻掑叆錛氬厛灝嗗緟鎻掑叆鐨勫厓绱?K 鏀懼湪 Young[m][n], 鐒跺悗姣旇緝 K 涓庡畠宸︽柟鎴栦笂鏂瑰厓绱犵殑澶у皬,騫朵笌鍏朵腑杈冨ぇ鐨勪竴涓氦鎹?鍙嶅榪涜鐩村埌 K 涓嶅皬浜庡畠宸︽柟鍜屼笂鏂圭殑鍏冪礌涓烘. 鍦ㄨ繖閲?鍚屾牱鏈?T(m,n)=T(m-1,n) or T(m,n-1)+ O(1),T=O(m+n).浼唬鐮佸涓?

INSERT(k,Young[m][n])
if(Young[m][n] < INFINITY)  alert: 鐭╅樀宸叉弧,鏃犳硶鎻掑叆!!
while(k<Young[m-1][n] or k<Young[m][n-1])
if(Young[m-1][n] >Young[m][n-1])
swap(k,Young[m-1][n]);
m=m-1;
else
swap(k,Young[m][n-1]);
n=n-1;
END

d). 璋冪敤 n*n 嬈?EXTRACT_MIN 榪囩▼鍗沖彲.

e). 鎬繪槸浜庢渶鍙充笂瑙掔殑鍏冪礌X姣旇緝錛?br />1錛夊鏋?=X,緇撴潫錛?br />2錛夊鏋滄瘮X灝忥紝閭d箞鍏冪礌鍙彲鑳藉湪鍓峃-1鍒椾腑錛?br />3錛夊鏋滄瘮X澶э紝閭d箞鍏冪礌鍙彲鑳藉湪鍚嶮-1琛屼腑錛?br />Young 姘忕煩闃靛幓鎺変竴琛屾垨涓鍒楄繕鏄?Young 姘忕煩闃碉紱
鎵浠ユ瘡嬈℃瘮杈冩渶灝戝幓鎺変竴琛屾垨涓鍒楋紝榪欐牱澶嶆潅搴﹀氨鏄?O(m+n);



]]>
2011濂介 - 瀵繪壘淇╁凡鎺掑ソ搴忔暟緇勭殑涓綅鏁?/title><link>http://www.shnenglu.com/Joe/archive/2011/10/16/158477.html</link><dc:creator>simplyzhao</dc:creator><author>simplyzhao</author><pubDate>Sun, 16 Oct 2011 10:38:00 GMT</pubDate><guid>http://www.shnenglu.com/Joe/archive/2011/10/16/158477.html</guid><wfw:comment>http://www.shnenglu.com/Joe/comments/158477.html</wfw:comment><comments>http://www.shnenglu.com/Joe/archive/2011/10/16/158477.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/Joe/comments/commentRss/158477.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Joe/services/trackbacks/158477.html</trackback:ping><description><![CDATA[<span id="hvzpftn" class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; line-height: 22px; background-color: #ffffff; ">闂:<br />鏈変袱涓凡鎺掑ソ搴忕殑鏁扮粍A鍜孊錛岄暱搴﹀潎涓簄錛屾壘鍑鴻繖涓や釜鏁扮粍鐨勪腑闂村厓绱犮傝姹傛椂闂翠唬浠蜂負O(logn)<br /><br />鎬濊礬:<br />a. 姣旇緝鑷劧鐨勬濊礬鏄綊騫剁畻娉曪紝涓嶈繃鏃墮棿澶嶆潅搴︽槸O(n)錛屾棤娉曟弧瓚抽鐩姹?br /><br />b. <br />( <a >http://www.binghe.org/2011/05/find-median/</a> )<br /><br /></span><span id="hvzpftn" class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; line-height: 22px; background-color: #ffffff; "><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 14px; text-align: justify; ">Say the two arrays are sorted and increasing, namely A and B.<br />It is easy to find the median of each array in O(1) time.<br />Assume the median of array A is m and the median of array B is n.<br />Then,<br />1′ If m=n, then clearly the median after merging is also m, the algorithm holds.<br />2′ If m<n, then reserve the half of sequence A in which all numbers are greater than<br />m, also reserve the half of sequence B in which all numbers are smaller than n.<br />Run the algorithm on the two new arrays.<br />3′ If m>n, then reserve the half of sequence A in which all numbers are smaller than<br />m, also reserve the half of sequence B in which all numbers are larger than n.<br /><br />Run the algorithm on the two new arrays.</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1.5em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; outline-width: 0px; outline-style: initial; outline-color: initial; font-size: 14px; text-align: justify; ">Time complexity: O(logn)</p></span><span id="hvzpftn" class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; line-height: 22px; background-color: #ffffff; "><br /><br /><br /><br /><br /></span><img src ="http://www.shnenglu.com/Joe/aggbug/158477.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/Joe/" target="_blank">simplyzhao</a> 2011-10-16 18:38 <a href="http://www.shnenglu.com/Joe/archive/2011/10/16/158477.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>2011闈㈣瘯棰?- 寰幆鎶ユ暟http://www.shnenglu.com/Joe/archive/2011/10/11/158089.htmlsimplyzhaosimplyzhaoTue, 11 Oct 2011 15:08:00 GMThttp://www.shnenglu.com/Joe/archive/2011/10/11/158089.htmlhttp://www.shnenglu.com/Joe/comments/158089.htmlhttp://www.shnenglu.com/Joe/archive/2011/10/11/158089.html#Feedback0http://www.shnenglu.com/Joe/comments/commentRss/158089.htmlhttp://www.shnenglu.com/Joe/services/trackbacks/158089.html
鏈塏涓漢鎸夌収1鍒癗緙栧彿鍥存垚涓涓湀鍋氭父鎴?br />浠庣涓涓漢寮濮嬩粠1鎶ユ暟,鏁板埌M鐨勪漢閫鍑烘父鎴?浠栧悗闈㈢殑浜烘帴鐫閲嶆柊浠?寮濮?em style="color: #d14836; font-style: normal; ">鎶ユ暟錛屼竴鐩存寔緇埌鎵鏈変漢閮介鍑?/em>錛?br />瑕佹眰杈撳嚭閫鍑烘父鎴忕殑浜虹殑欏哄簭.

榪欓浠ュ墠鐪嬭繃錛岃寰楄矊浼兼湁浜涙暟瀛﹁寰嬬殑錛屽繕浜嗭紝鎵浠ュ彧鑳藉綋鍦虹敤妯℃嫙鐨勬柟娉曟潵鍋氥?br />褰撴椂鐢ㄧ殑鏄驚鐜暟緇勬潵妯℃嫙錛岀粨鏋滆姳浜嗗崐涓皬鏃舵墠緙栬瘧銆佹祴璇曟悶瀹氾紝闈㈣瘯鎴戠殑浜?鎸篘ice鐨?鐪嬩簡涔嬪悗璇達紝絳旀杈撳嚭鏄鐨勶紝鍏跺疄鏇磋嚜鐒剁殑妯℃嫙鏄敤閾捐〃銆?br />鍒氭墠鐢ㄩ摼琛ㄨ瘯浜嗕笅錛屾灉鐒剁畝鍗曞ソ澶氾紝澶ф浜斿垎閽熷氨鍙互鎼炲畾銆?br />
#include<stdio.h>
#include
<stdlib.h>
#include
<string.h>
#include
<assert.h>
int n, m;
struct Item {
    
int number;
    
struct Item *next;
};

void
solve(
int n, int m)
{
    
int i, j;
    assert(n
>0 && m<=n);
    
struct Item *items = (struct Item *)malloc(sizeof(struct Item) * n);
    assert(items 
!= NULL);
    
/* init */
    
for(i=0; i<n-1++i) {
        items[i].number 
= i+1;
        items[i].next 
= items+i+1;
    }
    items[n
-1].number = n;
    items[n
-1].next = items;
    
/* simulate */
    
struct Item *cur, *prev = NULL;
    cur 
= items;
    
while(n--) {
        j 
= m;
        
while(--j) {
            prev 
= cur;
            cur 
= cur->next;
        }
        printf(
"%d\n", cur->number);
        prev
->next = cur->next;
        cur 
= cur->next;
    }
    free(items);
}

int
main(
int argc, char **argv)
{
    
while(scanf("%d %d"&n, &m) != EOF) {
        printf(
"Result of (N=%d, M=%d)\n", n, m);
        solve(n, m);
    }

    
return 0;
}


]]>
2011鐭ヨ瘑鐐?- 鏂囦歡鎻忚堪絎?dup/dup2http://www.shnenglu.com/Joe/archive/2011/10/08/157799.htmlsimplyzhaosimplyzhaoSat, 08 Oct 2011 07:57:00 GMThttp://www.shnenglu.com/Joe/archive/2011/10/08/157799.htmlhttp://www.shnenglu.com/Joe/comments/157799.htmlhttp://www.shnenglu.com/Joe/archive/2011/10/08/157799.html#Feedback0http://www.shnenglu.com/Joe/comments/commentRss/157799.htmlhttp://www.shnenglu.com/Joe/services/trackbacks/157799.html

鏂囦歡鎻忚堪絎?font face="Arial Black" style="line-height: normal; ">----鏂囦歡琛?/font>----v鑺傜偣緇撴瀯涓夎呯殑鑱旂郴


       鏃㈢劧鏂囦歡鎻忚堪絎︽爣璇嗙壒瀹氳繘紼嬫鍦ㄨ闂殑鏂囦歡錛岄偅榪涚▼璺熸枃浠舵槸鎬庝箞鑱旂郴璧鋒潵鐨勫憿錛?/span>

       棣栧厛鎴戜滑寰楃煡閬撴瘡榪愯涓涓繘紼嬶紝shell灝變細榛樿涓哄叾鎵撳紑涓変釜鏂囦歡鎻忚堪絎?/font>(0,1,2)錛屽垎鍒笌鏍囧噯杈撳叆(stdin)錛屾爣鍑嗚緭鍑?/font>(stdout)鍜屾爣鍑嗛敊璇?/font>(stderr)瀵瑰簲銆?/font>

       鎺ヤ笅鏉ヨ涓嬪唴鏍告墍浣跨敤鐨勪笁縐嶆暟鎹粨鏋勶紝姝f槸榪欎笁縐嶆暟鎹粨鏋勬墠浣胯繘紼嬫渶緇堣窡鏂囦歡鑱旂郴璧鋒潵銆?/span>寤鴻杈圭湅鍥句竴杈圭湅涓嬮潰鐨勬枃瀛楁弿榪?/span>

      a. 姣忎釜榪涚▼鍦ㄨ繘紼嬭〃涓兘鏈変竴涓褰曢」錛屾瘡涓褰曢」涓湁涓寮犳墦寮鏂囦歡鎻忚堪絎﹁〃錛屽彲灝嗗叾瑙嗕負涓涓煝閲忥紝姣忎釜鎻忚堪絎﹀崰鐢ㄤ竴欏廣?br />          涓庢瘡涓枃浠舵弿榪扮鐩稿叧鑱旂殑鏄細(a) 鏂囦歡鎻忚堪絎︺?/span>(b) 鎸囧悜涓涓枃浠惰〃欏圭殑鎸囬拡

      b. 鍐呮牳涓烘墍鏈夋墦寮鏂囦歡緇存寔涓寮犳枃浠惰〃銆傛瘡涓枃浠惰〃欏瑰寘鍚細(a) 鏂囦歡鐘舵佹爣蹇?/span>銆?/span>(b) 褰撳墠鏂囦歡浣嶇Щ閲忋?/span>(c) 鎸囧悜璇ユ枃浠?/span>v鑺傜偣琛ㄩ」鐨勬寚閽堛?/span>

      c. 姣忎釜鎵撳紑鏂囦歡錛堟垨璁懼錛夐兘鏈変竴涓?/span>v鑺傜偣緇撴瀯銆?/span>鏄枃浠剁殑閲嶈淇℃伅閮ㄥ垎銆?/span>

      涓嬪浘琛ㄧず浠ヤ笂涓変釜鏁版嵁緇撴瀯鐨勫叧緋伙細

         fd1 = open(pathname, oflags);

         fd2 = dup(fd1);

         fd3 = open(pathname, oflags);




鍥句竴

      

 dup/dup2
鐩鎬俊澶ч儴鍒嗗湪Unix/Linux涓嬬紪紼嬬殑紼嬪簭鍛樻墜澶翠笂閮芥湁銆奤nix鐜楂樼駭緙栫▼銆?APUE)榪欐湰瓚呯駭緇忓吀宸ㄨ憲銆備綔鑰呭湪璇ヤ功涓瑙up/dup2涔嬪墠鏇劇粡璁茶繃“鏂囦歡鍏變韓”錛岃繖瀵圭悊瑙up/dup2榪樻槸寰堟湁甯姪鐨勩傝繖閲屽仛綆鍗曟憳褰曚互澶囧湪鍚庨潰鐨勫垎鏋愪腑浣跨敤錛?br />Stevens said:
(1) 姣忎釜榪涚▼鍦ㄨ繘紼嬭〃涓兘鏈変竴涓褰曢」錛屾瘡涓褰曢」涓湁涓寮犳墦寮鏂囦歡鎻忚堪絎﹁〃錛屽彲灝嗚涓轟竴涓煝閲忥紝姣忎釜鎻忚堪絎﹀崰鐢ㄤ竴欏廣備笌姣忎釜鏂囦歡鎻忚堪絎︾浉鍏寵仈鐨勬槸錛?br />(a) 鏂囦歡鎻忚堪絎︽爣蹇椼?br />(b) 鎸囧悜涓涓枃浠惰〃欏圭殑鎸囬拡銆?br />(2) 鍐呮牳涓烘墍鏈夋墦寮鏂囦歡緇存寔涓寮犳枃浠惰〃銆傛瘡涓枃浠惰〃欏瑰寘鍚細
(a) 鏂囦歡鐘舵佹爣蹇?璇匯佸啓銆佸鍐欍佸悓姝ャ侀潪闃誨絳?銆?br />(b) 褰撳墠鏂囦歡浣嶇Щ閲忋?br />(c) 鎸囧悜璇ユ枃浠秜鑺傜偣琛ㄩ」鐨勬寚閽堛?br />鍥劇ず錛?br />鏂囦歡鎻忚堪絎﹁〃
------------
fd0 0 | p0 -------------> 鏂囦歡琛? ---------> vnode0
------------
fd1 1 | p1 -------------> 鏂囦歡琛? ---------> vnode1
------------
fd2 2 | p2 
------------
fd3 3 | p3 
------------
... ...
... ...
------------

涓銆佸崟涓繘紼嬪唴鐨刣up鍜宒up2
鍋囪榪涚▼A鎷ユ湁涓涓凡鎵撳紑鐨勬枃浠舵弿榪扮fd3錛屽畠鐨勭姸鎬佸涓嬶細
榪涚▼A鐨勬枃浠舵弿榪扮琛?before dup2)
------------
fd0 0 | p0 
------------
fd1 1 | p1 -------------> 鏂囦歡琛? ---------> vnode1
------------
fd2 2 | p2 
------------
fd3 3 | p3 -------------> 鏂囦歡琛? ---------> vnode2
------------
... ...
... ...
------------

緇忎笅闈㈣皟鐢細
n_fd = dup2(fd3, STDOUT_FILENO);鍚庤繘紼嬬姸鎬佸涓嬶細

榪涚▼A鐨勬枃浠舵弿榪扮琛?after dup2)
------------
fd0 0 | p0 
------------
n_fd 1 | p1 ------------
------------ \
fd2 2 | p2 \
------------ _\|
fd3 3 | p3 -------------> 鏂囦歡琛? ---------> vnode2
------------
... ...
... ...
------------
瑙i噴濡備笅錛?br />n_fd = dup2(fd3, STDOUT_FILENO)琛ㄧずn_fd涓巉d3鍏變韓涓涓枃浠惰〃欏?瀹冧滑鐨勬枃浠惰〃鎸囬拡鎸囧悜鍚屼竴涓枃浠惰〃欏?錛宯_fd鍦ㄦ枃浠舵弿榪扮琛ㄤ腑鐨勪綅緗負 STDOUT_FILENO鐨勪綅緗紝鑰屽師鍏堢殑STDOUT_FILENO鎵鎸囧悜鐨勬枃浠惰〃欏硅鍏抽棴錛屾垜瑙夊緱涓婂浘搴旇寰堟竻鏅扮殑鍙嶆槧鍑鴻繖鐐廣傛寜鐓т笂闈㈢殑瑙i噴鎴戜滑 灝卞彲浠ヨВ閲奀U涓彁鍑虹殑涓浜涢棶棰橈細
(1) "dup2鐨勭涓涓弬鏁版槸涓嶆槸蹇呴』涓哄凡鎵撳紑鐨勫悎娉昮iledes錛? -- 絳旀錛氬繀欏匯?br />(2) "dup2鐨勭浜屼釜鍙傛暟鍙互鏄換鎰忓悎娉曡寖鍥寸殑filedes鍊間箞錛? -- 絳旀錛氬彲浠ワ紝鍦║nix鍏跺彇鍊煎尯闂翠負[0,255]銆?br />
鍙﹀鎰熻鐞嗚Вdup2鐨勪竴涓ソ鏂規(guī)硶灝辨槸鎶奻d鐪嬫垚涓涓粨鏋勪綋綾誨瀷錛屽氨濡備笂闈㈠浘褰腑鐢葷殑閭f牱錛屾垜浠笉濡ㄦ妸涔嬪畾涔変負錛?br />struct fd_t {
int index;
filelistitem *ptr;
};
鐒跺悗dup2鍖歸厤index錛屼慨鏀筽tr錛屽畬鎴恉up2鎿嶄綔銆?br />
鍦ㄥ涔燿up2鏃舵繪槸紕板埌“閲嶅畾鍚?#8221;涓璇嶏紝涓婂浘瀹屾垚鐨勫氨鏄竴涓?#8220;浠庢爣鍑嗚緭鍑哄埌鏂囦歡鐨勯噸瀹氬悜”錛岀粡榪嘾up2鍚庤繘紼婣鐨勪換浣曠洰鏍囦負STDOUT_FILENO鐨処/O鎿嶄綔濡俻rintf絳夛紝鍏舵暟鎹兘灝嗘祦鍏d3鎵瀵瑰簲鐨勬枃浠朵腑銆備笅闈㈡槸涓涓緥瀛愮▼搴忥細
#define TESTSTR "Hello dup2\n"
int main() {
int fd3;

fd3 = open("testdup2.dat", 0666);
if (fd < 0) {
printf("open error\n");
exit(-1);
}

if (dup2(fd3, STDOUT_FILENO) < 0) { 
printf("err in dup2\n");
}
printf(TESTSTR);
return 0;
}
鍏剁粨鏋滃氨鏄綘鍦╰estdup2.dat涓湅鍒?Hello dup2"銆?br />
浜屻侀噸瀹氬悜鍚庢仮澶?br />CU涓婃湁榪欐牱涓涓笘瀛愶紝灝辨槸濡備綍鍦ㄩ噸瀹氬悜鍚庡啀鎭㈠鍘熸潵鐨勭姸鎬侊紵棣栧厛澶у閮借兘鎯沖埌瑕佷繚瀛橀噸瀹氬悜鍓嶇殑鏂囦歡鎻忚堪絎︺傞偅涔堝浣曟潵淇濆瓨鍛紝璞′笅闈㈣繖鏍瘋涔堬紵
int s_fd = STDOUT_FILENO;
int n_fd = dup2(fd3, STDOUT_FILENO);
榪樻槸榪欐牱鍙互鍛紵
int s_fd = dup(STDOUT_FILENO);
int n_fd = dup2(fd3, STDOUT_FILENO);
榪欎袱縐嶆柟娉曠殑鍖哄埆鍒板簳鍦ㄥ摢鍛紵絳旀鏄浜岀鏂規(guī)鎵嶆槸姝g‘鐨勶紝鍒嗘瀽濡備笅錛氭寜鐓х涓縐嶆柟娉曪紝鎴戜滑浠呬粎鍦?琛ㄩ潰涓?淇濆瓨浜嗙浉褰撲簬fd_t錛堟寜鐓ф垜鍓嶉潰璇寸殑鐞嗚В鏂?娉曪級涓殑index錛岃屽湪璋冪敤dup2涔嬪悗錛宲tr鎵鎸囧悜鐨勬枃浠惰〃欏圭敱浜庤鏁板煎凡涓洪浂鑰岃鍏抽棴浜嗭紝鎴戜滑濡傛灉鍐嶈皟鐢╠up2(s_fd, fd3)灝變細鍑洪敊(鍑洪敊鍘熷洜涓婇潰鏈夎В閲?銆傝岀浜岀鏂規(guī)硶鎴戜滑棣栧厛鍋氫竴涓嬪鍒訛紝澶嶅埗鍚庣殑鐘舵佸涓嬪浘鎵紺?
榪涚▼A鐨勬枃浠舵弿榪扮琛?after dup)
------------
fd0 0 | p0 
------------
fd1 1 | p1 -------------> 鏂囦歡琛? ---------> vnode1
------------ /|
fd2 2 | p2 /
------------ /
fd3 3 | p3 -------------> 鏂囦歡琛? ---------> vnode2
------------ /
s_fd 4 | p4 ------/ 
------------
... ...
... ...
------------

璋冪敤dup2鍚庣姸鎬佷負錛?br />榪涚▼A鐨勬枃浠舵弿榪扮琛?after dup2)
------------
fd0 0 | p0 
------------
n_fd 1 | p1 ------------
------------ \
fd2 2 | p2 \
------------ _\|
fd3 3 | p3 -------------> 鏂囦歡琛? ---------> vnode2
------------
s_fd 4 | p4 ------------->鏂囦歡琛? ---------> vnode1 
------------
... ...
... ...
------------
dup(fd)鐨勮鎰忔槸榪斿洖鐨勬柊鐨勬枃浠舵弿榪扮涓巉d鍏變韓涓涓枃浠惰〃欏廣傚氨濡俛fter dup鍥句腑鐨剆_fd鍜宖d1鍏變韓鏂囦歡琛?涓鏍楓?br />
紜畾絎簩涓柟妗堝悗閲嶅畾鍚戝悗鐨勬仮澶嶅氨寰堝鏄撲簡錛屽彧闇璋冪敤dup2(s_fd, n_fd);鍗沖彲銆備笅闈㈡槸涓涓畬鏁寸殑渚嬪瓙紼嬪簭錛?br />#define TESTSTR "Hello dup2\n"
#define SIZEOFTESTSTR 11

int main() {
int fd3;
int s_fd;
int n_fd;

fd3 = open("testdup2.dat", 0666);
if (fd3 < 0) {
printf("open error\n");
exit(-1);
}

/* 澶嶅埗鏍囧噯杈撳嚭鎻忚堪絎?*/
s_fd = dup(STDOUT_FILENO);
if (s_fd < 0) {
printf("err in dup\n");
}

/* 閲嶅畾鍚戞爣鍑嗚緭鍑哄埌鏂囦歡 */
n_fd = dup2(fd3, STDOUT_FILENO);
if (n_fd < 0) {
printf("err in dup2\n");
}
write(STDOUT_FILENO, TESTSTR, SIZEOFTESTSTR); /* 鍐欏叆testdup2.dat涓?*/

/* 閲嶅畾鍚戞仮澶嶆爣鍑嗚緭鍑?*/
if (dup2(s_fd, n_fd) < 0) {
printf("err in dup2\n");
}
write(STDOUT_FILENO, TESTSTR, SIZEOFTESTSTR); /* 杈撳嚭鍒板睆騫曚笂 */
return 0;
}
娉ㄦ剰榪欓噷鎴戝湪杈撳嚭鏁版嵁鐨勬椂鍊欐垜鏄敤浜嗕笉甯︾紦鍐茬殑write搴撳嚱鏁幫紝濡傛灉浣跨敤甯︾紦鍐插尯鐨刾rintf錛屽垯鏈緇堢粨鏋滀負灞忓箷涓婅緭鍑轟袱琛?Hello dup2"錛岃屾枃浠秚estdup2.dat涓負絀猴紝鍘熷洜灝辨槸緙撳啿鍖轟綔鎬紝鐢變簬鏈緇堢殑鐩爣鏄睆騫曪紝鎵浠ョ▼搴忔渶鍚庡皢緙撳啿鍖虹殑鍐呭閮借緭鍑哄埌灞忓箷銆?br />

涓夈佺埗瀛愯繘紼嬮棿鐨刣up/dup2
鐢眆ork璋冪敤寰楀埌鐨勫瓙榪涚▼鍜岀埗榪涚▼鐨勭浉鍚屾枃浠舵弿榪扮鍏變韓鍚屼竴鏂囦歡琛ㄩ」錛屽涓嬪浘鎵紺猴細
鐖惰繘紼婣鐨勬枃浠舵弿榪扮琛?br />------------
fd0 0 | p0 
------------
fd1 1 | p1 -------------> 鏂囦歡琛? ---------> vnode1
------------ /|\
fd2 2 | p2 |
------------ |
|
瀛愯繘紼婤鐨勬枃浠舵弿榪扮琛?|
------------ |
fd0 0 | p0 |
------------ |
fd1 1 | p1 ---------------------|
------------
fd2 2 | p2 
------------
鎵浠ユ伆褰撶殑鍒╃敤dup2鍜宒up鍙互鍦ㄧ埗瀛愯繘紼嬩箣闂村緩绔嬩竴鏉?#8220;娌熼氱殑妗ユ”銆傝繖閲屼笉璇﹁堪銆?br />
鍥涖佸皬緇?br />鐏墊椿鐨勫埄鐢╠up/dup2鍙互緇欎綘甯︽潵寰堝寮哄ぇ鐨勫姛鑳斤紝鑺變簡涓浜涙椂闂存葷粨鍑轟笂闈㈤偅涔堝錛屼笉鐭ラ亾鑷繁鐞嗚В鐨勬槸鍚﹂忓交錛屽彧鑳藉湪浠ュ悗鐨勫疄璺典腑鎱㈡參鎺㈢儲浜嗐?br />


杞澆: http://blog.21ic.com/user1/6406/archives/2011/81684.html


       

]]>
2011鐭ヨ瘑鐐?- overload涓巓verridehttp://www.shnenglu.com/Joe/archive/2011/10/07/157709.htmlsimplyzhaosimplyzhaoFri, 07 Oct 2011 11:11:00 GMThttp://www.shnenglu.com/Joe/archive/2011/10/07/157709.htmlhttp://www.shnenglu.com/Joe/comments/157709.htmlhttp://www.shnenglu.com/Joe/archive/2011/10/07/157709.html#Feedback0http://www.shnenglu.com/Joe/comments/commentRss/157709.htmlhttp://www.shnenglu.com/Joe/services/trackbacks/157709.htmloverload: 閲嶈澆

铏氬嚱鏁版繪槸鍦ㄦ淳鐢熺被涓鏀瑰啓錛岃繖縐嶆敼鍐欒縐頒負“override”銆傛垜緇忓父娣鋒穯“overload”鍜?/span>“override”榪欎袱涓崟璇嶃傛緞娓呬竴涓嬶細

override
鏄寚媧劇敓綾婚噸鍐欏熀綾葷殑铏氬嚱鏁幫紝灝辮薄鎴戜滑鍓嶉潰B綾諱腑閲嶅啓浜?/span>A綾諱腑鐨?/span>foo()鍑芥暟銆傞噸鍐欑殑鍑芥暟蹇呴』鏈変竴鑷寸殑鍙傛暟琛ㄥ拰榪斿洖鍊鹼紙C++鏍囧噯鍏佽榪斿洖鍊間笉鍚岀殑鎯呭喌錛岃繖涓垜浼氬湪璇硶閮ㄥ垎綆鍗曚粙緇嶏紝浣嗘槸寰堝皯緙栬瘧鍣ㄦ敮鎸佽繖涓?/span>feature錛夈傝繖涓崟璇嶅ソ璞′竴鐩存病鏈変粈涔堝悎閫傜殑涓枃璇嶆眹鏉ュ搴旓紝鏈変漢璇戜負瑕嗙洊錛岃繕璐村垏涓浜涖?/span> 

overload
綰﹀畾鎴愪織鐨勮緲昏瘧涓?/span>閲嶈澆銆傛槸鎸囩紪鍐欎竴涓笌宸叉湁鍑芥暟鍚屽悕浣嗘槸鍙傛暟琛ㄤ笉鍚岀殑鍑芥暟銆備緥濡備竴涓嚱鏁板嵆鍙互鎺ュ彈鏁村瀷鏁頒綔涓哄弬鏁幫紝涔熷彲浠ユ帴鍙楁誕鐐規(guī)暟浣滀負鍙傛暟銆?/span>




]]>
2011鐭ヨ瘑鐐?- 鏋勯犲嚱鏁板彲浠ヤ負铏氬嚱鏁板悧http://www.shnenglu.com/Joe/archive/2011/10/07/157708.htmlsimplyzhaosimplyzhaoFri, 07 Oct 2011 11:06:00 GMThttp://www.shnenglu.com/Joe/archive/2011/10/07/157708.htmlhttp://www.shnenglu.com/Joe/comments/157708.htmlhttp://www.shnenglu.com/Joe/archive/2011/10/07/157708.html#Feedback0http://www.shnenglu.com/Joe/comments/commentRss/157708.htmlhttp://www.shnenglu.com/Joe/services/trackbacks/157708.html鍘熷洜錛?br />姒傚康涓婏紝铏氬嚱鏁扮殑鎰忓浘鏄姩鎬佺粦瀹氾紝紼嬪簭浼氭牴鎹璞$殑鍔ㄦ佺被鍨嬫潵閫夋嫨瑕佽皟鐢ㄧ殑鏂規(guī)硶銆傜劧鑰屽湪鏋勯犲嚱鏁拌繍琛岀殑鏃跺欙紝榪欎釜瀵硅薄鐨勫姩鎬佺被鍨嬭繕涓嶅畬鏁?鍙互鏄熀綾伙紝涔熷彲浠ユ槸瀛愮被)錛屾病鏈夊姙娉曠‘瀹氬畠鍒板簳鏄粈涔堢被鍨嬶紝鏁呮瀯閫犲嚱鏁頒笉鑳藉姩鎬佺粦瀹氥?br />
瀹炵幇涓婏紝vptr鏄瀯閫犲嚱鏁拌緗殑銆傞氳繃vptr鎵嶈兘鎵懼埌铏氬嚱鏁般?br />濡傛灉鏋勯犲嚱鏁頒負铏氬嚱鏁幫紝閫氳繃鏋勯犲嚱鏁拌緗殑vptr鎵嶈兘鎵懼埌鏋勯犲嚱鏁幫紝鐒跺悗璋冪敤瀹冭緗畍ptr錛岃繖鏄笉鍙兘瀹炵幇鐨勩?nbsp;



鍙傝?


]]>
2011鐭ヨ瘑鐐?- 浼樺厛綰у弽杞?/title><link>http://www.shnenglu.com/Joe/archive/2011/09/25/156727.html</link><dc:creator>simplyzhao</dc:creator><author>simplyzhao</author><pubDate>Sat, 24 Sep 2011 16:33:00 GMT</pubDate><guid>http://www.shnenglu.com/Joe/archive/2011/09/25/156727.html</guid><wfw:comment>http://www.shnenglu.com/Joe/comments/156727.html</wfw:comment><comments>http://www.shnenglu.com/Joe/archive/2011/09/25/156727.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.shnenglu.com/Joe/comments/commentRss/156727.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/Joe/services/trackbacks/156727.html</trackback:ping><description><![CDATA[鍓嶄袱澶㎝arvell闈㈣瘯錛岃闂埌浼樺厛綰у弽杞槸浠涔堜笢涓滐紝鏃犲鍙兘琛ㄧず涓嶄細錛岃繕濂介潰璇曞畼闈炲父鍦癗ICE錛屽緢鑰愬績鍦板憡璇夋垜榪欐槸浠涔堬紝榪樿亰璧種ASA鐨勭伀鏄熸帰嫻嬪櫒灝卞洜涓轟紭鍏堢駭鍙嶈漿鐨勫師鍥犲嚭鐜拌繃BUG錛?鎴戝氨涓鐩寸偣澶達紝榪樿鍥炴潵浼欸OOGLE瀛︿範涓?br /><br /><span id="hvzpftn" class="Apple-style-span" style="color: #555555; font-family: Verdana, 'Lucida Grande', Verdana, Helvetica, sans-serif; font-size: 13px; line-height: 20px; background-color: #ffffff; "><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; ">Priority Inversion 浼樺厛綰у弽杞槸宓屽叆寮忓疄鏃剁郴緇熼噷闈㈢殑涓涓粡鍏哥殑闂銆傜畝鍗曟弿榪頒竴涓嬭繖涓棶棰橈細鏈変笁涓紭鍏堢駭涓嶅悓鐨則ask,A,B,C; A鐨勪紭鍏堢駭鏈楂橈紝B嬈′箣錛孋鏈浣庛傚叾涓瑼鍜孋鏈夊叡浜殑涓寸晫鍖恒傚鏋淐宸茶繘鍏ヤ復鐣屽尯錛岄偅涔圓鍦ㄨ繘鍏ヨ繘鍏ヤ復鐣屽尯涔嬪墠錛屽氨浼氳闃誨銆倀ask B鏈夊彲鑳芥墦鏂瑿鑰岃繘鍏ヨ繍琛岀姸鎬侊紝榪欐牱C浠涔堟椂鍊欎粠涓寸晫鍖洪鍑猴紝灝辨槸涓涓湭鐭ョ殑鏃墮棿銆侫鍙湁C浠庝復鐣屽尯閫鍑哄悗鎵嶈兘琚皟搴︼紝A琚樆濉炵殑鏃墮棿涔熸槸鏈煡鐨勩傝繖鏍鳳紝浣庝紭鍏堢駭鐨凚鍏堜簬楂樹紭鍏堢駭鐨凙琚皟搴︼紝浼樺厛綰у彂鐢熶簡閫嗚漿銆?br />榪欎釜闂鍦ㄤ竴鑸殑鎿嶄綔緋葷粺閲岄潰涓嶆槸涓涓弗閲嶇殑闂錛屾渶澶欰琚闃誨浜嗕竴孌墊椂闂淬備絾鏄紝鍦ㄥ疄鏃剁郴緇熼噷闈紝濡傛灉涓涓換鍔″湪瑙勫畾鐨勬椂闂撮噷闈㈡病鏈夎璋冨害榪愯錛岀郴緇熷氨鐩稿綋浜庡け璐ヤ簡錛屽彲鑳藉紩鍙戠郴緇熷穿婧冦?br />瑙e喅榪欎釜闂鏈変袱縐嶆墜孌碉細<br />1錛歅riority inheritance(浼樺厛綰х戶鎵?錛屽鏋滀竴涓珮浼樺厛綰х殑task琚樆濉烇紝涓庡畠鍏變韓涓寸晫鍖虹殑浣庝紭鍏堢駭鐨則ask鍦ㄨ繘鍏ヤ復鐣屽尯鍚庯紝浼樺厛綰у氨浼氱戶鎵塊珮浼樺厛綰ask鐨勪紭鍏堢駭錛屼繚璇佸畠涓嶄細琚叾浠栦紭鍏堢駭嬈¢珮鐨勪換鍔℃墦鏂備粠涓寸晫鍖洪鍑哄悗錛孋鐨勪紭鍏堢駭鎭㈠姝e父銆?br />2錛欰 priority ceiling錛堟渶楂樹紭鍏堢駭錛夛紝緇欎復鐣屽尯鍒嗛厤鏈楂樹紭鍏堢駭錛屽鏋滀竴涓猼ask榪涘叆涓寸晫鍖猴紝灝辨妸涓寸晫鍖虹殑浼樺厛綰ц祴緇欏畠錛屽凡淇濊瘉瀹冧笉浼氳鎵撴柇銆備粠涓寸晫鍖洪鍑哄悗錛宼ask鐨勪紭鍏堢駭鎭㈠姝e父銆?/p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; ">瀹炴椂鎿嶄綔緋葷粺鐨勪竴涓壒鐐瑰氨鏄紝涓涓疄鏃朵換鍔★紝浼氬湪瑙勫畾鐨勬椂闂村唴寰楀埌鍝嶅簲錛屽茍涓斿湪瑙勫畾鐨勬椂闂村唴瀹屾垚浠誨姟銆傛墍浠ワ紝涓鍒囦笉鍙鐭ョ殑鍔ㄤ綔閮芥槸鏈夊鐨勩?/p><p style="margin-top: 1em; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; ">鏈夊叴瓚e彲浠ョ湅鐪嬩笅闈袱涓摼鎺ワ細<br /><a title="http://en.wikipedia.org/wiki/Priority_inversion" rel="nofollow" style="color: #467aa7; font-style: normal; text-decoration: none; ">http://en.wikipedia.org/wiki/Priority_inversion</a><br /><a title="http://www.embedded.com/story/OEG20020321S0023" rel="nofollow" style="color: #467aa7; font-style: normal; text-decoration: none; ">http://www.embedded.com/story/OEG20020321S0023</a></p></span><br /><br /><br />鏉ユ簮: <a >http://www.kernelchina.org/node/210</a><img src ="http://www.shnenglu.com/Joe/aggbug/156727.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/Joe/" target="_blank">simplyzhao</a> 2011-09-25 00:33 <a href="http://www.shnenglu.com/Joe/archive/2011/09/25/156727.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>2011鎺ㄧ悊棰?- 涓や釜楦¤泲[zz]http://www.shnenglu.com/Joe/archive/2011/09/25/156726.htmlsimplyzhaosimplyzhaoSat, 24 Sep 2011 16:13:00 GMThttp://www.shnenglu.com/Joe/archive/2011/09/25/156726.htmlhttp://www.shnenglu.com/Joe/comments/156726.htmlhttp://www.shnenglu.com/Joe/archive/2011/09/25/156726.html#Feedback0http://www.shnenglu.com/Joe/comments/commentRss/156726.htmlhttp://www.shnenglu.com/Joe/services/trackbacks/156726.html

2 Egg Problem

 緇х畫鎴戜滑鐨勬帹鐞嗛棶棰樹箣鏃咃紝浠婂ぉ鎴戜滑瑕佸浠樼殑鏄竴涓狦oogle鐨勯潰璇曢錛歍wo Egg Problem.

鎴戜滑寮濮嬪惂錛?nbsp;

No.2  Google Interview Puzzle : 2 Egg Problem

* You are given 2 eggs.

* You have access to a 100-storey building.

* Eggs can be very hard or very fragile means it may break if dropped from the first floor or may not even break if dropped from 100th floor. Both eggs are identical.

* You need to figure out the highest floor of a 100-storey building an egg can be dropped without breaking.

Now the question is how many drops you need to make. You are allowed to break 2 eggs in the process

 

鍒嗘瀽涓庤В絳旓細

   

     棰樼洰瑕佹眰璇曠殑鏈澶ф鏁版渶灝忋傞鍏堬紝璁ㄨ涓や釜姣旇緝trivial鐨勬柟妗堛?/span>

 

   鏂規(guī)1錛氫粠絎竴灞傚紑濮嬫墧楦¤泲錛屽鏋滈浮铔嬩笉紕庯紝鍒欎笂涓灞傚啀鎵斻傝繖鏍鳳紝濡傛灉楦¤泲鍦ㄦ煇涓灞傜鐨勮瘽錛岃灞傚氨鏄復鐣岀殑灞傘傝繖縐嶆柟妗堢殑浼樼偣鍦ㄤ簬鐪侀浮铔嬶紝鍙細鎽旂牬涓涓浮铔嬨傝繕鏈変竴涓浮铔嬪彲浠ュ甫鍥炲錛屽仛涓浮铔嬬竟錛岃ˉ鍏呰惀鍏諱釜!  :) 緙虹偣灝辨槸錛屽鏋滈浮铔嬪湪100灞傛墠紕庣殑璇濓紝閭e氨瑕佽瘯100嬈″暒銆傞偅浣犵瓑鐢墊瑕佺瓑姝誨暒錛岃屼笖榪樿鎺ュ彈鍒漢鐨勬墦閲忕殑鐩厜錛屽績璇磋繖鎬挅涓轟粈涔堟瘡嬈¢兘鍙潗涓灞傛ゼ鍟?#8230;

 

  鏂規(guī)2錛?/span> 鎯沖繀寰堝浜洪兘浼氭兂鍒拌繖涓柟妗堛傛垜鍙兘璇達紝榪欐槸涓浗璁$畻鏈烘暀鑲茬殑鎴愬姛鍟娿傝繖灝辨槸“浜屽垎鏌ユ壘娉?#8221;銆傞鍏堝湪絎?/span>50灞傛ゼ鎵旈浮铔嬶紝濡傛灉楦¤泲涓嶇鐨勮瘽錛屽氨鍘?/span>75妤箋傚鏋滅浜嗙殑璇濓紝閭d箞瀵逛笉璧鳳紝鍚屽織銆傜敱浜庝綘鍙墿涓涓浮铔嬩簡錛屾墍浠ヤ綘寰楀皬蹇冨湴浠庣涓灞傚紑濮嬶紝榪欐牱鎵嶈兘淇濊瘉浣犲湪楦¤泲紕庡畬鐨勬椂鍊欒兘鎵懼埌涓寸晫妤煎眰銆傝繖縐嶆柟娉曠殑浼樺娍鍦ㄤ簬錛屽鏋滀綘鐭ラ亾浣犵殑楦¤泲姣旇緝紜殑璇濓紝浣犲氨閲囩敤榪欎釜鏂規(guī)硶鍚с備復鐣屾ゼ灞傝秺楂橈紝榪欎釜鏂規(guī)硶灝濊瘯鐨勬鏁拌秺灝忋備絾榪欑浼樺娍鏄敤涓寸晫妤煎眰姣旇緝?yōu)畯鏃舵瘮杈冨ぇ鐨劄疂璇晪啤鏁颁皋Z唬浠瘋幏寰楃殑銆傛垜浠湅鍒幫紝濡傛灉涓寸晫灞傛暟鍦?/span>49灞傜殑璇濓紝鎴戜滑瑕佸皾璇?/span>50嬈★紝鑰屼復鐣屽眰鏁頒負100灞傜殑鏃跺欙紝灝濊瘯嬈℃暟鍙湁7嬈°備絾鏄紝鐜板湪鐨勯棶棰樻槸錛屽叏閮ㄦ儏鍐典笅鐨勬渶澶у皾璇曟鏁版渶灝忋傝繖鏍鳳紝铏界劧鍦ㄦ煇浜涙儏鍐典笅錛岃繖縐嶆柟娉曠殑鎬ц兘寰堝ソ銆備絾鏄氨鏈宸儏鍐佃岃█錛岃繕鏄灝濊瘯50嬈★紝濂藉儚榪樻槸鏈夌偣澶с傝繖杈癸紝鎴戜滑鎯寵搗鏉ワ紝“浜屽垎鏌ユ壘娉?#8221;鐨勭洰鏍囨槸騫沖潎鎬ц兘鏈浣籌紝騫朵笉鏄渶宸ц兘鏈浣熾傛垜浠技涔庤蛋閿欎簡璺紒錛侊紒涓嶈繃錛屾柟妗堜簩鐩告瘮鏂規(guī)涓鏉ヨ榪樻槸鏈夎繘姝ョ殑銆?/span>

 

  鏂規(guī)2浼間箮闄峰叆浜?#8220;鐭澘鏁堝簲”鐨勬償娌鹼紝鐢變簬鏈鍧忔儏鍐典笅鐨勫潖鎬ц兘鍒剁害浜嗘諱綋鎬ц兘鐨勬彁楂樸傝В鍐寵繖涓棶棰樼殑鎬葷殑鍘熷垯搴旀槸錛?#8220;涓紕楁按绔鉤”錛屽敖閲忓仛鍒板悇縐嶆儏鍐典笅鐨勫皾璇曟鏁板敖閲忓樊涓嶅銆傝繖姝e簲鍚?/span>GOOGLE鐨勪俊鏉?/span>Don't be evil錛屼笉浠ュ埆鐨勬儏鍐典負浠d環(huán)鎹㈠彇鍙︿竴浜涙儏鍐電殑鎸囨爣鐨勬彁楂樸傚仛鍒?#8220;涓嶄激瀹?#8221;.(鍛靛懙錛岃繖鏄垜鐬庤仈鎯崇殑)銆傞偅涔堬紝灝辯収鐫榪欐潯璺蛋鍚э紝鎴戝亣璁炬瘡縐嶆儏鍐典笅鏈澶х殑灝濊瘯嬈℃暟涓?/span>x.

  鍒欑涓嬈℃墧铔嬬殑妤煎眰搴斾負x;

絎簩嬈℃墧铔嬬殑妤煎眰搴斾負 x+(x-1);

   渚濇綾繪帹銆?/span>

   浠庝笂闈㈢湅鍒幫紝姣忔鎴戜滑澧炲姞鐨勬ゼ灞傞兘鏄墠涓嬈″噺1.鎴戜滑鎵瑕佷繚璇佺殑灝辨槸搴旇鍦ㄥ鍔犵殑灞傛暟鍙樻垚0涔嬪墠鍒伴《妤鹼紝鎵浠ユ湁錛?/span>

   x+(x-1)++1100

   榪欐槸涓涓瓑宸暟鍒楋紝鏁寸悊鍚庢湁錛?/span>

     x2+x-2000

鍙戠幇x14銆?/span>

 

鎴戜滑鎬葷粨涓涓嬶細

  絎竴嬈″湪14妤兼墧錛屽鏋滅浜嗙殑璇濅粠涓妤煎啀寮濮嬫墧錛?/span>

鍚﹀垯鍦?/span>14+13=27灞傛墧錛屽鏋滅浜嗙殑璇濅粠15灞傚紑濮嬫墧錛?/span>

鍚﹀垯鍦?/span>27+12=39灞傛墧錛屽鏋滅浜嗙殑璇濅粠28灞傚紑濮嬫墧錛?/span>

……

榪欐牱錛屾渶澶у皾璇曟鏁頒負14嬈″氨琛屼簡銆備笉淇′綘璇曡瘯銆?/span>

 

鏈鍚庯紝涓轟簡浣撶幇涓ヨ皚鎬э紝緇欏嚭鏈鐨勬ā鍨嬶細

 

杞Щ鏂圭▼錛?/span>

minNum[n ] = min(1 + max(i – 1, minNum[n-i])) 錛?/span>for 1n

杈圭晫鏉′歡:

minNum[0] = 0; minNum[1] = 1

榪欓噷錛?/span>n涓烘ゼ灞傛暟錛?/span>i涓鴻搗濮嬫ゼ灞傛暟銆?/span>

 

鎹榪欐槸涓涓姩鎬佽鍒掗棶棰橈紝鎴戣繕娌℃潵寰楀強浠旂粏鐮旂┒銆傚叾瀹烇紝鎴戠殑鎰熻鏄紝寰堝鐞嗚鏈鍒濈殑鏉ユ簮閮芥槸寰堟湸绱犵殑鐪熺悊錛屽彧鏄垜浠病瀛︽噦錛屾墍浠ユ妸瀹冧滑鎯沖鏉備簡銆傛墍浠ワ紝寰堝ソ鐨勭悊璁哄氨榪欐牱涓嶈澶у鏁頒漢鎵鐞嗚В浜嗐?/span>

 

鍙傝冩枃鐚細

1.       http://blog.csdn.net/TravelInHistory/archive/2006/12/07/1434098.aspx

2.       http://classic-puzzles.blogspot.com/2006/12/google-interview-puzzle-2-egg-problem.html



]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
              久久久噜噜噜久久中文字幕色伊伊| 欧美日韩国产综合一区二区| 亚洲第一中文字幕| 久久成人在线| 老司机精品久久| 欧美成人tv| 日韩视频国产视频| 亚洲综合成人婷婷小说| 欧美一区二区高清在线观看| 久久精品夜色噜噜亚洲a∨| 久久全国免费视频| 欧美高清视频一区二区| 欧美午夜a级限制福利片| 国产精品永久免费在线| 在线观看一区视频| 99re6这里只有精品| 欧美一级黄色网| 免费观看成人网| 亚洲精品乱码久久久久久蜜桃91| 国产欧美欧洲在线观看| 久久久久国产精品一区| 欧美.www| 国产精品国产三级国产普通话99 | 亚洲黄色av| 亚洲午夜精品久久| 麻豆成人小视频| 亚洲午夜精品国产| 免费观看国产成人| 国产视频在线一区二区| 一区二区精品在线| 美女精品网站| 亚洲欧美日韩网| 欧美日韩精品久久| 亚洲激情电影中文字幕| 久久久久五月天| 亚洲综合成人在线| 欧美日韩国产电影| 91久久国产自产拍夜夜嗨| 欧美在线视频一区二区三区| 亚洲日本免费| 免费不卡视频| 一区二区亚洲精品| 久久精品国产久精国产爱| 日韩小视频在线观看| 免费久久精品视频| 在线欧美日韩精品| 久久综合一区二区| 久久福利资源站| 国产午夜精品一区二区三区欧美| 亚洲专区在线| 一区二区三区视频观看| 欧美日韩不卡| 亚洲免费激情| 亚洲黄色视屏| 欧美激情一区在线| 亚洲精品美女在线观看播放| 免费成人在线观看视频| 久久精品在线观看| 伊人蜜桃色噜噜激情综合| 久久婷婷丁香| 久久噜噜噜精品国产亚洲综合| 国产一区二区在线观看免费播放| 午夜在线精品偷拍| 亚洲欧美在线播放| 国产在线精品自拍| 久久综合九色综合网站| 欧美永久精品| 国精产品99永久一区一区| 久久久www| 久久久免费精品视频| 在线观看成人小视频| 欧美国产三级| 欧美另类久久久品| 亚洲啪啪91| 欧美视频在线一区| 国产精品一区二区三区成人| 亚洲色无码播放| 亚洲视频福利| 国产麻豆日韩| 狂野欧美性猛交xxxx巴西| 久久精品一区二区三区中文字幕 | 久久精品人人| 亚洲精品一区二区在线| 99精品99| 激情一区二区三区| 亚洲欧洲视频| 国产精品久久夜| 美国成人毛片| 欧美日韩亚洲一区三区| 午夜精品视频一区| 久久综合色影院| 亚洲在线观看视频| 久久在线免费观看视频| 亚洲免费影视| 美女露胸一区二区三区| 亚洲综合日本| 免费在线成人| 久久精品一区四区| 欧美日韩精品一区二区三区四区 | 欧美二区在线看| 亚洲自拍三区| 欧美不卡激情三级在线观看| 午夜欧美大片免费观看| 免费成人高清在线视频| 亚洲欧美另类国产| 欧美国产日韩免费| 久久午夜国产精品| 国产精品老女人精品视频| 欧美激情免费在线| 狠狠色综合网站久久久久久久| 一区二区三区四区国产精品| 在线免费高清一区二区三区| 亚洲综合社区| 一本色道久久综合狠狠躁篇怎么玩 | 欧美激情五月| 韩国av一区二区三区在线观看| 日韩亚洲欧美成人一区| 亚洲国产精品一区二区第四页av| 亚洲欧美国产不卡| 亚洲欧美国产精品专区久久| 欧美成人免费一级人片100| 久久久久久久综合色一本| 欧美视频中文字幕在线| 亚洲国产成人tv| 亚洲高清免费视频| 久久精品国产欧美亚洲人人爽| 午夜精品视频| 国产精品嫩草久久久久| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美精品在线免费播放| 老司机aⅴ在线精品导航| 国产拍揄自揄精品视频麻豆| 亚洲精品看片| 一区二区三区欧美亚洲| 欧美成人黄色小视频| 欧美激情一区二区三级高清视频| 精品51国产黑色丝袜高跟鞋| 亚洲综合三区| 久久久久国产精品麻豆ai换脸| 国产欧美综合在线| 欧美专区一区二区三区| 久久性色av| 亚洲高清一区二| 欧美国产先锋| 亚洲人成网在线播放| 亚洲毛片在线看| 欧美三级乱码| 亚洲手机在线| 久久精品99国产精品酒店日本| 国产日产欧产精品推荐色| 香蕉成人伊视频在线观看| 久久精品国产精品| 亚洲国产专区| 国产精品高潮在线| 欧美在线视频在线播放完整版免费观看| 久久gogo国模啪啪人体图| 国产一区在线看| 欧美福利视频一区| 99精品欧美一区二区蜜桃免费| 亚洲欧美日本国产有色| 国产亚洲美州欧州综合国| 久久久亚洲精品一区二区三区| 亚洲第一精品久久忘忧草社区| av成人福利| 国产日韩欧美在线一区| 欧美fxxxxxx另类| 亚洲视频大全| 欧美成在线观看| 亚洲一区二区三区中文字幕| 国产伦精品一区二区三区免费迷 | 久久高清国产| 99国产精品久久久久老师| 国产精品一区久久久| 麻豆freexxxx性91精品| 这里只有精品电影| 免费久久99精品国产自| 亚洲在线视频观看| 在线精品观看| 国产精品免费一区豆花| 久久久国产午夜精品| 一区二区久久久久| 欧美成人午夜影院| 久久精品国产一区二区三区| aa级大片欧美| 亚洲国产精品嫩草影院| 国产欧美日韩91| 国产精品v欧美精品v日本精品动漫 | 精品动漫一区| 国产精品久久久一区二区三区| 狂野欧美性猛交xxxx巴西| 亚洲伊人第一页| 亚洲精品网站在线播放gif| 老司机午夜免费精品视频| 午夜精品久久久久| 99视频日韩| 国产精品欧美一区二区三区奶水| 亚洲欧美日韩视频一区| 亚洲精品国产无天堂网2021| 噜噜噜噜噜久久久久久91| 亚洲欧美一区二区视频|