原创 浙大版《數據結構(第2版)》題目集3.13 雙端隊列 (25分)

一、題目描述 雙端隊列(deque,即double-ended queue的縮寫)是一種具有隊列和棧性質的數據結構,即可以(也只能)在線性表的兩端進行插入和刪除。若以順序存儲方式實現雙端隊列,請編寫例程實現下列操作: Push(

原创 浙大版《數據結構(第2版)》題目集1.9 有序數組的插入 (20分)

本題要求將任一給定元素插入從大到小排好序的數組中合適的位置,以保持結果依然有序。 函數接口定義: bool Insert( List L, ElementType X ); 其中List結構定義如下: typedef int P

原创 王道SqList編程題答案

SqList 1. DelMin int DelMin(SqList &L){ if(!L.length){ cout << "Error!" << endl; exit(0); }

原创 LeetCode-1018:可被 5 整除的二進制前綴

一、題目描述 二、解題思路 其實這個題和把二進制轉爲十進制的題沒有什麼區別,只是注意把得到的結果取模一下就好,以免溢出 三、解題代碼 class Solution { public: vector<bool> prefi

原创 LeetCode-1:兩數之和

一、題目描述 二、解題思路 這道題當然可以暴力,這樣時間複雜度爲O(n2)O(n^2)O(n2)。所以我採用哈希表來解決。 遍歷一次數組,將其與下標的pair(val,index)pair(val, index)pair(val

原创 LeetCode-560: 和爲K的子數組

First. Problem’s Description Second. Problem’s Solution Use a HashTable to store the pre_sum of the array, use un

原创 LeetCode-287:尋找重複數

一、題目描述 二、解題思路 這是劍指Offer的原題。。。。。。評論區用的都是有環鏈表的方法 一個蘿唄一個坑兒,如果沒有重複那麼下標與元素值應該可以達成一一對應 那麼如果當前下標和元素值不同,那麼我們就不斷地調整,也就是說把這

原创 LeetCode-4:尋找兩個正序數組的中位數

一、題目描述 二、解題思路   題目要求時間複雜度爲O(log(m+n))O(log(m + n))O(log(m+n)),很明顯需要採用二分法來解決。   如果我們可以在這兩個有序序列中找到第KKK個數字,那麼我們只要能找到中

原创 LeetCode-696:計數二進制子串

一、題目描述 二、解題思路 找每次連續的1或者0的個數,存入vector,之後每次選取緊鄰着的兩個中較小的那個相加給res 比如:100011111001110,得到vector = {1, 3, 5, 2, 3, 1},所以r

原创 LeetCode-432:全 O(1) 的數據結構

一、題目描述 class AllOne { private: class Node { public: string str; int num; Node(

原创 LeetCode-355:設計推特

一、題目描述 二、解題思路 建立消息隊列 我們可以用一個集合來保存某人關注的博主。用哈希表建立起推特ID和這個集合的映射 優點 採用集合結構,不用考慮重複取關、重複關注的問題,集合結構會幫助我們解決一切 建立消息隊列,在獲

原创 2020年華中科技大學計算機科學與技術學院研究生入學考試複試專業實踐能力考覈試題——監控相機佈局問題

一、題目描述 二、解題思路 因爲我並沒有接觸和了解過提示中列舉出來的除了貪心算法之外的算法,所以我採用貪心算法來解決 GetDataFromTXT()函數 將txt中的數據讀入哈希表,建立起攝像頭ID和覆蓋區域的映射

原创 C語言按行讀取文件/寫數組到文件

#include <cstdio> #include <cstdlib> int main() { int row, col; FILE *fp = fopen("In.txt", "r"); FILE *

原创 LeetCode-25:K 個一組翻轉鏈表

一、題目描述 二、解題思路   這道題,最簡單的方法就是從頭節點開始,每次查看當前剩下的節點是不是多於K個,如果是的話就進行反轉,否則就不進行並返回。   這樣當然可以,但是有性能瓶頸:每次都需要查看剩餘元素個數,相當於遍歷了兩