資料結構和演算法

2022-05-17 15:03:19 字數 2060 閱讀 1294

給定兩個字串s和t,它們只包含小寫字母。字串t由字串s隨機重排,然後在隨機位置新增乙個字母。請找出在t中被新增的字母。

示例

如果字串s = "abcd";t = "abdec";,則輸出為e

char findthediffalp(const std::string s, const std::string t)

return c;

}

char findthediffalp(const std::string s, const std::string t)

for (std::size_t i = 0; i < t.size(); ++i)

return (char)(sum_t - sum_s);

}

char findthediffalp(const std::string s, const std::string t)

return (char)(c);

}

char findthediffalp(const std::string s, const std::string t)

; for (std::size_t i = 0; i < s.size(); ++i)

for (std::size_t i = 0; i < t.size(); ++i)

} return c;

}

給定乙個字串,找到它的第乙個不重複的字元,並返回它的索引值。如果不存在,則返回-1。

示例

如果字串s = "leetcode";,則返回0

如果字串s = "loveleetcode";,則返回2

int findtheuniqalp(const std::string s)

; for (std::size_t i = 0; i < s.size(); ++i)

int i = 0;

while ((i < s.size()) && (alps[s.at(i) - 'a'] > 1))

return (i == s.size() ? -1 : i);

}

int findtheuniqalp(const std::string s)

} return -1;

}

給定乙個包含0,1,2,...,n中的n個數的序列,找出其中沒有出現在序列中的那個數。

示例

輸入:[3, 0, 1]

輸出:2

輸入:[9, 6, 4, 2, 3, 5, 7, 0, 1]

輸出:8

int findmissingnum(const int nums, int size)

; // int size = sizeof(nums) / sizeof(nums[0]);

int sum = (0 + size) * (size + 1) / 2; // 假設最小值是0,那最大值就是size+1-1;假設最小值是1,那最大值就是size+1

for (int i = 0; i < size + 1; ++i)

return sum;

}

int findmissingnum(const int nums, int size)

; for (int i = 0; i < size + 1; ++i)

for (int i = 0; i < size + 1; ++i)

} return -1;

}

資料結構和演算法

判斷乙個演算法的效率時,函式中的常數和其它次要項常常可以忽略,而更應該關注主項 最高項 的階數。演算法時間複雜度的定義 在進行演算法分析時,語句中的執行次數t n 是關於問題規模n的函式,進而分析t n 隨n的變化情況並確定t n 的數量級。演算法的時間複雜度,也就是演算法的時間量度,記作 t n ...

資料結構和演算法

程式是什麼?好多書上都寫著 程式 資料結構 演算法。可是怎麼去理解呢?好多程式設計人員對資料結構和演算法說不上熟悉,因為在他們所從事的工作中很少用到這些知識點。但並不表示他們不重要。還有一些人是這樣的想法 大公司才會注重這些知識點,小公司可能就不注重了。寫這篇文章之前我也是持這種想法的。但是,此時此...

資料結構和演算法

一 資料結構 1.概念 資料結構就是資料之間的結構關係,或者理解成資料元素之間存在的一種或者多種特定關係的集合,在傳統上資料結構分為邏輯結構與物理結構 1 邏輯結構 只反映資料元素之間的邏輯關係的資料結構,其中的邏輯關係是指資料元素之間的前後關係,而與他們在計算機中的儲存位置無關,有以下四類 集合結...