jike2023年5月實習題

2021-06-06 10:31:00 字數 1149 閱讀 6354

1、  輸出hanoi塔的中間移動過程,複雜度

hanoi比較簡單,時間複雜度是o(2exp n)(why?)

2、  給您乙個二叉樹(元素值都是int型別),輸入整數a,b,計算二叉樹中在[a,b]區間的節點個數。

a:遍歷過程(先序遍歷、或者中序遍歷、後續遍歷)。

3、  判斷兩個字串是不是同性異構體(長度一樣,相同的字元組成,字元個數也一樣,字元位置不一樣)

a:建立2個陣列cout1[256],cout2[256],記錄char * str1和char *str2的每個字元出現個數,然後比較2個陣列是否相等。

4、  整形陣列裡面,返回出現次數大於一半的元素(程式設計之美)

a: 介紹乙個時間複雜度為o(n)的演算法。

每次刪除2個不同的元素,剩下的元素裡面,之前出現次數大於一半的元素現在出現次數也是大於一半。

5、  128bit的二進位製流裡面查詢8bit二進位製流出現的次數

a:我的理解是,二進位製流其實就是乙個字串。利用kmp演算法計算。

6、  如下圖所示,紅色矩陣為乙個運動物體,可以在水平方向移動,地底下有陷進(黑色)

運動物體每次運動步伐只能是自然數的平方(table存放,1,4,9,16,25,。。。),求給定initpos,goalpos,和holepos陣列,怎麼計算移動的最少次數

水平軌道

地下是否有陷阱

水平軌 道座標 -3

-2 -1

0 12 3

4 5a:1)      算出initpos和goalpos之間的距離len

2)      再在table陣列裡面尋找乙個最接近len的數,table[a1],剩餘距離為:

len[1] = (len – table[a1] )(可能為負數,負數的時候下次運動方向為:終點—>起始點)

3)      再在table陣列裡面尋找乙個最接近len[1]的數,table[a2],剩餘距離為:

如果len[1] >0,len[2] = (len[1] – table[a2] )

如果len[1] <0,len[2]= (len[1] + table[a2] )

(可能為負數,負數的時候下次運動方向為:終點—>起始點,正數的時候下次運動方向為:起點—>終點)

4)      迴圈步驟3,直到len[n] = 0,這樣移動次數為n

Android開發月報(2023年5月)

糟糕的是,這個月reversiwins仍然沒有完工 只做了個半半成品 我花在這個遊戲上的時間已經有2個月了,再拖下去估計要夭折。不過這個月解決了乙個大問題,就是andengine中的紋理會突然消失。這個問題可以在andengine官方論壇上找到答案。這次好像寫得太少了,下面貼一張reversiwin...

2023年5月6日 週末總結

以前從來沒想過把自己的學習總結放到部落格上來進行,從今天開始,希望自己能夠堅持下來。本週收穫 1 使用keytool工具來生成自簽名的多網域名稱證書。keytool genkey alias mykey keyalg rsa keysize 1024 keypass 1234567 keystore...

今天是2023年1月5號

昨晚和老婆在電腦前挑選本本,然後過一會就睡覺了 夢中從試油處往三場走,說是去找小s玩,快到三廠時候,小s說她沒時間,說讓我在廠標那裡等著 我就在那裡等著,過一會,看到康永來了,說是小s讓他來陪我逛街的 看到康永心裡砰砰亂跳,和他先去了乙個類似凍豬蹄的店,他問我喜不喜歡吃,我說不是很喜歡,我們平時都吃...