京東2016算法工程師筆試題(登樓梯)
有一段樓梯臺階有15級臺階,以小明的腳力最多可以一次跨上三級臺階,問有多少種方法登上這段樓梯?
#include<iostream>using namespace std;int compute(int n){ int sum=0; //統計 if(n==1)sum=1; else if(n==2)sum=2; else if(n==3)sum=4;//登上一節臺階的方法只有一種,兩級臺階的方法有兩種,三級臺階有四種{(1,1,1)(1,2) (2,1) (3) } 動態規劃的方法 else { sum=compute(n-1)+compute(n-2)+compute(n-3); } return sum;}int main(){ cout<<compute(15)<<endl; return 0;}什么是拓撲排序 ? 一個有向無環圖(Directed Acyclic Graph簡稱DAG)G進行拓撲排序,是將G中所有頂點排成一個線性序列,使得圖中任意一對頂點u和v,若<u,v> ∈E(G),則u在線性序列中出現在v之前。
有向無環圖才存在拓撲序列
對于一個DAG,可能存在多個拓撲序列
除首任務開始不需要條件,其它任務的執行必須在它的前驅任務完成才能執行(選擇一個沒有前驅的頂點,刪除該頂點和所有以它為起點的有向邊,循環直到DAG為空)
名企筆試:滴滴出行2017秋招算法筆試題(拓撲排序)
下面哪個序列不是上圖的一個拓撲排序?
A. ebfgadch
B. adchebfg
C. aebdgfch
D. aedbfgch
選擇B騰訊2016校園招聘研發工程師筆試題(全連通圖)
n個頂點,m條邊的全連通圖,至少去掉____邊才能構成一棵樹?
A. n-1
B. m-1
C. m-n+1
D. m-n-1
N個點如果相連至少n-1條,現在我們有m條邊,所以至少減少m-(n-1)
所以選擇C
新聞熱點
疑難解答