東華複試上機備考踩坑記 15年第四題

2021-10-02 06:40:57 字數 948 閱讀 6558

我的**:

/*

刪除陣列中的重複元素

演算法概述:

遍歷陣列,若陣列當前元素和後一元相同,則保留後一元素,

將當前元素刪除,否則什麼也不做

此演算法時間複雜度為o(n^2),空間複雜度為o(1)

*/#include#define max_size 100

typedef struct slist slist;

void fun(slist* s)

(s -> len)--;

} }}int main() ;

int i = 0;

slist* s = (slist* )malloc(sizeof(slist));

s -> len = 9;

for (i = 0; i < s -> len; i++)

for (i = 0; i < s -> len; i++)

printf("\n");

fun(s);

printf("去重後:\n");

for (i = 0; i < s -> len; i++)

printf("\n");

return 0;

}

雖然做出來了,但是時間複雜度有點高,但是我想不到其他方法改進,於是看了看學長/學姐的**。

學長/學姐的**:

int fun(int *a, int n) 

} return j;

}

瞬間感覺我太菜了……

從學長/學姐的**中我學到了:

去重去重,就是要忽略重複元素,這一點也可以體現在**上

函式的返回值可以是中間結果,不要固執的以為是最終結果

東華複試OJ 50 彩票

為豐富男生節活動,女生設定彩票 環節,規則如下 1 每張彩票上印有7個各不相同的號碼,且這些號碼的取值範圍為 1,33 2 每次在兌獎前都會公布乙個由七個互不相同的號碼構成的中獎號碼 3 共設定7個獎項,特等獎和一等獎至六等獎。兌獎規則如下 特等獎 要求彩票上的7個號碼都出現在中獎號碼中 一等獎 要...

東華複試練習8 初級算術

8 初級算術 問題描述 小學一年級學生正在學習多位數加法,從右到左每次一位數字。在運算過程中,進製對學生來講是個難點。你的工作是統計每組加法運算的進製次數,老師根據你的統計結果就可以評估這些題目的難度。輸入說明 每行輸入有兩個正整數。參加運算的數和運算結果保證在32位整數範圍內。輸出說明 對每行輸入...

東華複試87 求先序排列

87 求先序排列 問題描述 給出一棵二叉樹的中序與後序排列。求出它的先序排列。約定樹結點用不同的大寫字母表示,長度 8 輸入說明 兩行,每行乙個字串,分別表示中序和後序排列 輸出說明 乙個字串,表示所求先序排列 輸入範例 badc bdca 輸出範例 abcd include include cha...