經典 華為遠端機試題分享(跟進)

2021-10-04 10:38:14 字數 1290 閱讀 8658

昨晚那種方法做出來之後,感覺可讀性不好,也就是一般情況下很難看懂**,所以接近睡著時我又想到乙個辦法比較簡單,而且易懂,所以寫這篇部落格和大家分享一下吧(具體就圍繞下圖這個核心問題來做

其實我的想法很簡單,就是借助鍊錶來實現,因為鍊錶刪除功能方便,直接pollfirst() polllast();

1、先取出來最上面一排,並移除;

2、取出最又一排並移除;

3、倒敘取出最下面一排並移除;

4、倒敘取出最左面一排並移除;

每次取出來後就刪除,當刪除一圈後又是乙個新的二維;然後直接遞迴就完事兒了!

(下面貼上**)

public static void main(string args) ,,,,};

for (int i = 0; i < array.length; i++)

linkedlists.add(linkedlist);

}// 列印原來的資料

system.out.println("列印提供的原資料:" + linkedlists.tostring());

linkedlist reslist = new linkedlist();

printbycycle(linkedlists, reslist);

// 列印順時針獲取的資料

system.out.println("順時針列印原資料:" + reslist);

}

private static void  printbycycle(linkedlist> sourcelist, listtargetlist)

});//從右到左 橫向

linkedlistlastlinked = sourcelist.polllast();

while (lastlinked!=null && lastlinked.size()>0)

//從下到上 豎向

for (int i = sourcelist.size() - 1 ; i >=0 ; i--)

}//遞迴

if(sourcelist.size()>0)

}

最後結果如下:

華為機試題分享

華為機試題分享 沒有在規定的時間內完成作答,還是挺遺憾的,回想了一下,其實理清楚思路還是很簡單的,只是需要注意的點比較多。題目內容 在輸入字串中,找出一段連續的數字串,字串按照 進行分割,要求 的左右兩端全是數字,儲存並找到最大值 例如ahjshjj1552.ss5235.3662d.588523....

華為機試題

今天去華為機試,感覺是再謹慎都不為過啊!zc前一天晚上還跟我強調了判空,記憶體釋放。前兩題都是基本題,後面一題不會。1 輸入兩個數 反轉相加的和輸出。2 三天打漁兩天曬網 從1990 年1月1日開始 打漁輸出fishing 曬網輸出sleeping 我因為printf的是fishing sleepi...

華為機試題

通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串壓縮程式,將字串中連續出席的重複字母進行壓縮,並輸出壓縮後的字串。壓縮規則 1.僅壓縮連續重複出現的字元。比如字串 abcbc 由於無連續重複字元,壓縮後的字串還是 abcbc 2.壓縮欄位的格式為 字元重複的次數 字元 例如 字串 yyy...