每日一題 day4

2021-08-14 22:11:41 字數 1477 閱讀 1091

基礎題:

1、判斷兩個鍊錶是否相交,若相交,求交點(假設鍊錶不帶環)

思路:

} 2、判斷兩個鍊錶是否相交,若相交,求交點(假設鍊錶可能帶環)

思路:

兩個鍊錶帶環可分為兩種情況:

1. 乙個帶環,乙個不帶環

這種情況是不會有交點的

2. 兩個都帶環

分析:

入口點相同時,分別讓兩個鍊錶從入口點處斷開,則轉換成了兩個不帶環鍊錶求交點的問題;

入口點不同時,從乙個鍊錶的入口點出發,在環上尋找另乙個鍊錶的入口點,若找不到(如左邊的情況),若找到了(如右邊的情況),交點就是環上的一點;

附加題:

請問下面的程式輸出幾個「-」?

#include

#include

#include

int main()

return

0;}

思路:

1、這道題只要考察的是fork()函式的使用; 乙個程序呼叫fork()函式後,系統先給新的程序分配資源,例如儲存資料和**的空間。然後把原來的程序的所有值都複製到新的新程序中,只有少數值與原來的程序的值不同。相當於轉殖了乙個自己。

2、這道題還考察了printf()函式的使用,這就跟printf的緩衝機制有關了,printf某些內容時,作業系統僅僅是把該內容放到了stdout的緩衝佇列裡了,並沒有實際的寫到螢幕上。(如果這個題的printf後面加乙個\n是就不一樣了)但是,只要看到有/n 則會立即重新整理stdout,因此就馬上能夠列印了。

上圖是對這個題的**,可以看出此題共建立3個子程序,

答案: 八次(因為多拷貝了兩次,若有\n的話,會輸出六次);

推薦一篇將fork()函式的部落格,個人覺得很不錯

LeetCode每日兩題 day4

leetcode11.盛水最多的容器 leetcode9.回文數 問題詳情 判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。實現class solution object defispalindrome self,x type x int rtype bool...

每日一題(4)

思路 先用快慢指標找到鍊錶的中點,然後翻轉鍊錶後半部分,再和前半部分組合。注意 把鍊錶分成兩半時,前半段的尾節點要置為null,翻轉鍊錶時也要把尾節點置為null。definition for singly linked list.struct listnode class solution 此時的...

每日一題 day6

基礎題 1 兩個棧實現乙個佇列 思路 棧的特點 後進先出 佇列的特點 先進先出 兩個棧可將乙個棧用於入資料,另乙個用於出資料 define crt secure no warnings include includetemplate class myqueue void pop 刪除頭部資料 s2....