程式設計題小結

2021-09-18 06:55:43 字數 2337 閱讀 6806

找到兩個鍊錶的第乙個共同節點位置

例如:a1 -> a2 -> c1->c2 ->c3; //鍊錶1

b1->c1->c2->c3; //鍊錶2

左移基本思想是:yx = (xt y t)t

故而,左移n位等同於:

將前n位位置交換(第一位和第n位交換),再將(n+1)位到最後一位的位置交換,最好從同到尾交換元素位置;

for

(int i=

0,j=n-

1;i++i,

--j)

swap

(str[i]

,str[j]);

for(

int i=n,j=len-

1;i++i,

--j)

swap

(str[i]

,str[j]);

for(

int i=

0,j=len-

1;i++i,

--j)

swap

(str[i]

,str[j]

);

同理,右移n位:(總長len)

將字串中的字元從空格中分離

關鍵在於需要兩個變數,乙個進行移動,乙個進行標記;

如:i am a student.

|i,m

移動i,直到遇到空格;

此時(i-1)和m之間就是字元;

string reversesentence

(string str)

} str=str.

substr(0

,len)

;//不取新增在最後的空格

for(

int j=len-

1,i=

0;i++i,

--j)

swap

(str[i]

,str[j]);

return str;

}void

reverse

(string &str,

int i,

int m)

}

找到出現一次的字母,找到出現2次的字母,找到出現n次的字母:

基本思想:利用乙個陣列來記錄各個元素出現了多少次,並按照要求輸出;

// 已知vector為a;

int c[

256]=;

for(

int i=

0;isize()

;++i)

for(

int i=

0;isize()

;++i)

5.鍊錶中的環:

先說個定理:兩個指標乙個fast、乙個slow同時從乙個鍊錶的頭部出發;

fast一次走2步,slow一次走一步,如果該鍊錶有環,兩個指標必然在環內相遇

此時只需要把其中的乙個指標重新指向鍊錶頭部,另乙個不變(還在環內),

這次兩個指標一次走一步,相遇的地方就是入口節點。

若要找這個環的長度,只需要將保持fast和slow的步長不變,當二者再次相遇的時候,slow走的總步數就是環的長度。

/*

struct listnode

};*/

class

solution

listnode* meetingnode =

meetingnode

(phead);if

(meetingnode ==

null

) listnode* pnode1 = meetingnode;

// 兩個指標同時移動,找到環入口

listnode* pnode2 = phead;

while

(pnode1 != pnode2)

return pnode1;

}private

:// 使用快慢指標,找到任意的乙個環中結點

listnode*

meetingnode

(listnode* phead)

listnode* pfast = pslow-

>next;

while

(pfast !=

null

&& pslow !=

null

) pslow = pslow-

>next;

pfast = pfast-

>next;

if(pfast !=

null)}

return

null;}

};

牛客網 前端程式設計題小結

牛客網 前端程式設計題小結 雖然是最最基礎的js題,但是還是收穫不少,大家都很聰明啊!concat slice map 不改變原陣列 1.找出元素 item 在給定陣列 arr 中的位置 如果陣列中存在 item,則返回元素在陣列中的位置,否則返回 1 最基礎版本 function indexof ...

daemon程式設計小結

一.daemon的特點 必須由root啟動。它是非互動式程式,所以沒有控制中斷,無須使用者輸入。不能控制終端,所以無任何輸出,因此無論是向stderr還是stdout都需做特別處理。通常作為程序組和會話的領導程序。父程序是init,因為真正的父程序fork以後就exit了,是由init繼承的孤兒程序...

Linux Module程式設計小結

1.makefile 使用makefile來編譯模組,不能直接使用gcc。實際使用的是當前活動核心模組的makefile來完成相關工作的。ifneq kernelrelease obj m hello.o calculate.o else kdir lib modules 2.6.18 53.el5...