阿里8 29,研發筆試題中的兩個附加題

2021-06-25 07:34:31 字數 1092 閱讀 4192

由於之前內推過,未能參加筆試,今天看見別人貼出的題目,自己寫了寫,沒有檢查。大家誰看見有問題請告知。

給定乙個query和乙個text,均由小寫字母組成。要求在text中找出以同樣的順序連續出現在query中的最長連續字母序列的長度。例如, query為「acbac」,text為「acaccbabb」,那麼text中的「cba」為最長的連續出現在query中的字母序列,因此,返回結果 應該為其長度3。請注意程式效率。

#include #include #include using namespace std;

int get_length(const char* text, const char* query)

int max_len = 0;

int text_len = strlen(text);

int query_len = strlen(query);

for (int i = 0; i < text_len; i++)

if (temp > max_len)

max_len = temp;

}count++;

} text++;

} return max_len;

}int main()

寫乙個函式,輸入乙個二叉樹,樹中每個節點存放了乙個整數值,函式返回這棵二叉樹中相差最大的兩個節點間的差值絕對值。請注意程式效率。

int btreenode::btree_getmax(treenode* tree,int& min, int& max)

if (tree == root)

min = root->data;

if (tree->lc != null)

if (tree->rc != null)

if ((tree->lc != null))

btree_getmax(tree->lc, min, max);

if (tree->rc != null)

btree_getmax(tree->rc, min, max);

return max - min;

}

筆試題 簡述以下兩個for迴圈的優缺點

第乙個 for i 0 i 優點 程式簡潔 缺點 多執行了n 1次邏輯判斷,並且打斷了迴圈 流水線 作業,使得編譯器不能對迴圈進行優化處理,降低了效率。每一次迴圈裡都有比較,增加了程式空間複雜度 第二個 if condition else 優點 迴圈的效率高,相比第乙個複雜一點,但迴圈裡沒有比較,降...

阿里筆試題 求兩個子串行的最大連續子串行

給定乙個query和乙個text,均由小寫字母組成。要求在text中找出以相同的順序連續出如今query中的最長連續字母序列的長度。比如。query為 acbac text為 acaccbabb 那麼text中的 cba 為最長的連續出如今query中的字母序列,因此。返回結果應該為其長度3。請注意...

求兩個整數集合的交集 2014TX筆試題

假設整數為int型,且非負數,如下 注意點 getinersection返回值應該為vector而不應該是vector 因為vector向量物件在函式執行完後系統會 自動的呼叫析構函式,如果返回 的話,將得到乙個null值 include include include include using ...