謝謝
node
第1題*面試
已知類定義例如如下算法
class Node {數組
public Double value;數據結構
public List<Node> children;框架
}數據結構和算法
將下面遞歸程序改爲非遞歸程序(兩個程序的輸出應保持順序一致)post
publicstaticvoid process(Node node) { 學習
for (int i = 0; i < node.children.size(); i++) {spa
Node child = node.children.get(i);
if (child.value < node.value) {
process(child);
}
}
System.out.println(node.value);
for (int i = 0; i < node.children.size(); i++) {
Node child = node.children.get(i);
if (child.value >= node.value) {
process(child);
}
}
}
第2題*
請無缺下面程序,輸入爲字符數組(數組內每個字符均不一樣樣)和個數n,返回值是由這些字符組成的所有長度爲n的字符串
好比輸入爲{'a','b','c'}和個數1,則返回值爲{"a","b","c"}
好比輸入爲{'a','b','c','d'}和個數2,則返回值爲{"ab","ac","ad","ba","bc","bd","ca","cb","cd","da","db","dc"}
public String[] doit(char[]chars){
......
}
第3題**
參考第1題Node類定義,Node類定義了一個樹形結構,請無缺下面程序
輸入node知足下面條件:
1 node的value是大於0的浮點數
2 node的下級節點(以及更下級節點)的value多是null或者大於0的浮點數
程序的做用例如如下:
1 將樹形結構裏面所有value是null的均設爲大於0的浮點數
2 非葉子節點(即children數量大於0的節點)的value均等於它的children的value之和
public void doit(Nodenode){
......
}
第4題***
Saga語言由變量定義、變量賦值、條件運行三種語句組成,當中變量定義必須位於另外兩種語句以前。三種語句定義例如如下:
變量定義由變量名和常量值組成:
def變量名=常量值
變量賦值由變量名和運算表達式組成:
變量名=運算表達式
條件運行由比較表達式和一系列變量賦值組成:
if(比較表達式){
變量賦值1
變量賦值2
......
}
當中:
a) 變量名由小寫字母組成
b) 常量值爲浮點數,好比1.1,2.0等
c) 運算表達式由變量、常量值、運算符加減乘除(+,-,*,/)和括號組成
c) 比較表達式由兩個運算表達式加比較符(>,<, =)組成。演示樣例a+b>100.0
Saga語言程序演示樣例:
def a=100.0
def b=200.0
def c=1.0
def d=0.0
c=(a+b)/2.0
if(c=150.0){
d=d+1.0
d=d+1.0
}
請無缺下面程序(寫出思路就能夠)。輸入是隨意Saga語言程序(字符串格式),返回值是程序中所有變量及其終於值。
public Map<String, Double> doit(Stringprog){
......
}
第1題**
下圖中爲一列時序變量,綠色點爲正常數據點。紅色爲異常數據點。
請設計算法可識別異常點。簡述算法框架和內容要點。
第1題***
20個球,按順序標上序號1-20。將這些球放進一個箱子,老師從這個箱子中隨機取出2個球,序號各自是a和b。將a與b的和告訴學生甲。將a與b的積告訴學生乙。而後
甲問乙:你知道a和b各自是多少嗎?
乙回答:不知道
乙問甲:你知道a和b各自是多少嗎?
甲回答:不知道
乙說:呵呵,我知道了
甲說:呵呵。我也知道了
請回答a和b各自是多少,並寫出推理過程。
第2題**
已知平行四邊形的邊長分別爲a和b,外接正方形如圖所看到的,僅僅外接點。無外接邊。求外接正方形邊長c的範圍