原创 藉助遞歸實現鏈表指針的前移以及鏈表題目的一點小總結

鏈表不同於數組,知道一個節點,我們只能知道其後繼節點,而不能知道其前驅節點,更無法直接移動到前驅節點 而由於遞歸可以通過壓棧出棧來記錄中間各節點,相當於依次將 鏈表節點壓棧,然後需要時進行依次出棧,比如壓棧順序 a,b,c,d,則出棧順序

原创 深度搜索處理問題的關鍵 --- 做leetcode深度搜索類題目小結

    1.深度優先搜索中的關鍵 2.深度優先搜索小結 3.深度優先搜索和回溯法的區別 4.深度優先搜索與遞歸的區別 1.深度優先搜索中的關鍵 深度搜索算法通常用來 解決 全排列,不重複組合,分組問題,多條路徑,路徑的條數等等 對於深度優

原创 getline 函數和標準輸入流的cin.getline的用法和不同

1.getline()函數的定義: istream& getline(istream& is,string & str, char delim = '/n') 其中 istream 是輸入流,getline()函數從輸入流中讀取數據

原创 Dynamic programming動態規劃算法

1.什麼是動態規劃算法? 動態規劃算法是指將複雜問題拆分爲簡單問題,並存儲簡單問題的結果,避免重複計算。 也就是說動態規劃算法需要滿足以下3個特點: 1.可以將問題分解爲相似的子問題,並且子問題有重複 2.每一個子問題只解決一次 3.存儲

原创 哈希表與STL中的unordered_map(hash_map)、unordered_set(hash_set)

  1.什麼是哈希表,爲什麼要有哈希表? 總的來講,哈希表是一種查找和存儲結合一體的技術。 想一想我們在順序表(如數組)中查找是怎麼查找的,我們遍歷數組,將每一個元素都與給定關鍵字進行比較,直到查找成功或遍歷結束,查找時間複雜度爲O(n)

原创 全排列問題(不含有相同元素與含有相同元素的全排列問題)

1.給定一個數組,數組中元素均不相同,寫出數組元素的全排列組合 比如: [1,2,3] Output: [ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1

原创 Leetcode中有關Sum問題的一些總結----通用性方法

1.最簡單的TwoSum問題 問題描述: Given an array of integers, return indices of the two numbers such that they add up to a specific

原创 VMware虛擬機中linux系統CentOS中root用戶登錄輸入密碼後顯示"鑑定故障"的解決辦法,忘記root密碼的解決方案

一般產生這種問題的原因是root密碼錯誤,所以選擇重置密碼,原理是進入linux的不同級別的運行模式, 運行模式 1 表示單用戶模式,這種模式下不需要root密碼就可以登錄,所以按如下步驟進行運行模式 1,重置密碼:   1、重啓系統,在

原创 解決SecureCRT中vim界面高亮的問題

1.首先要注意不一定是linux系統的問題,首先查看一下你的SecureCRT的設置 按如下步驟進行設置 然後繼續選擇 外觀 類別,按下圖進行更改 此時,進入vim進行查看,如果已經高亮顯示,則結束;否則進入第二步 2.此時就必須在L

原创 C++中toupper、tolower 、isalpha、isalnum、isdigit、islower、isupper、isblank、isspace的用法

1. toupper() int toupper(int)  接收和返回的都是該字符的ASCII碼,用的時候直接輸入字符就可以,C++內部會自動轉換 將一個字符轉換爲大寫 char c = 'c'; char tmp = tolower

原创 啊哈算法炸彈人遊戲----深度優先搜索與廣度優先搜索

 1.問題描述:在炸彈人遊戲中,你有一顆炸彈,該炸彈的威力是十字形的,即只能爆出上下左右型的火焰,且火焰不能穿牆,問應該將炸彈放到哪裏炸彈才能殺死最多的小怪?(注:該位置必須是炸彈人能有初始位置走到的位置,畢竟炸彈人不能飛,牆或者小怪都能

原创 1-9九個數字不重複組成一個三位數加法算式,求出所有組合

問題描述: 將1-9的9個數字不重複的填入[ ][ ][ ] + [ ][ ][ ] = [ ][ ][ ],使得等式成立 如 173 + 286 = 459 且 將 286 + 173 = 459 視爲同一種,問滿足這樣條件的

原创 size_type類型與size_t的異同

1.什麼是size_type? size_type 如同 int 、float等 一樣也是一種數據類型,不同之處在於size_type會適應機器,不同的機器size_type會有不同的長度;只要你使用了這個類型,就使得你的程序適合

原创 vector、list的常用成員函數及其返回值

1. vector常用成員函數 vctor常用的成員函數,總結一下,方便應用,重要的是明白各個成員函數的參數和返回值,返回值尤其重要,且容易被忽略 vector容器類成員及成員方法 對應的含義與返回值 vector:

原创 Add Binary

字符串形式的二進制之和(Leetcode) QUESTION: Given two binary strings, return their sum (also a binary string).The input strings