(1)一個整數(shù)數(shù)列,元素取值可能是0—65535中的任意一個數(shù),相同數(shù)值不會重復出現(xiàn)。0是例外,可以反復出現(xiàn)。
請設計一個算法,當你從該數(shù)列中隨意選取5個數(shù)值,判斷這5個數(shù)值是否連續(xù)相鄰。
注意:
-5個數(shù)值允許是亂序的。比如:8 7 5 0 6;
-0可以通配任意數(shù)值。比如:8 7 5 0 6中的0可以通配成9或者4;
-0可以多次出現(xiàn);
-復雜度如果是O(n2)則不得分。
(2)設計一個算法,找出二叉樹上任意兩個結(jié)點的最近共同父結(jié)點,復雜度如果是O(n2)則不得分。
(3)一棵排序二叉樹,令f=(最大值+最小值)/2,設計一個算法,找出距離f值最近、大于f值的結(jié)點。復雜度如果是O(n2)則不得分。
(4)一個整數(shù)數(shù)列,元素取值可能是1~N(N是一個較大的正整數(shù))中的任意一個數(shù),相同數(shù)值不會重復出現(xiàn)。設計一個算法,找出數(shù)列中符合條件的數(shù)對的個數(shù),滿足數(shù)對中兩數(shù)的和等于N+1。復雜度最好是O(n),如果是O(n2)則不得分。