原创 LeetCode # 13 羅馬數字轉整數

LeetCode # 13 羅馬數字轉整數 思路 1 利用字典記錄對應關係 遍歷整個字符串 查找前後兩個字符是不是出現了特殊情況 無特殊情況直接加 代碼 1 class Solution: def romanTo

原创 LeetCode #9 迴文數

LeetCode #9 迴文數 思路 轉換爲字符串做 代碼 class Solution: def isPalindrome(self, x: int) -> bool: st = str(x)

原创 LeetCode # 7 整數反轉

LeetCode # 7 整數反轉 思路 1 從最低位開始處理 使用到 % 10 // 10 等工具 注意符號 注意邊界情況 代碼 1 class Solution: def reverse(self, x: int)

原创 LeetCode #1 兩數之和

LeetCode #1 兩數之和 思路 1 實現 遍歷一遍數組並查找對應的target - nums[i]是否在數組中。 複雜度 list in 操作O(n) 加循環一起是O(n^2)的複雜度 代碼 class Solutio

原创 LeetCode #299 猜數字遊戲

LeetCode #299 猜數字遊戲 思路 1 掃描一遍得到 完全相同的位置有多少 即BULL 利用DIct 記錄除此之外在Secret中各個數字的剩餘數量 掃描 Guess 對於每一個 != secret 對應答案的

原创 LeetCode #27 移除元素

LeetCode #27 移除元素 思路1 O(nlogn)的時間對於原數組進行排序 O(n)瞭解當前數組中有多少val tmp指針初始化爲len(nums) - 1 遍歷數組的過程中, 如果遇到val則與tmp指針對應數交換,

原创 LeetCode 刷題計劃 2.4 - 3.4

LeetCode 刷題計劃 2.4 - 3.4 今年大四,準備出國讀研,突發疫情閒在家裏了,所以開個LeetCode 刷題計劃,爲未來找工做個準備。 目前的準備在30天裏刷大概200題,開個貼記錄。 Day Problems

原创 CODEVS 整數、浮點數、字符串

浮點數處理 關於printf的格式控制 一般形式 %(flags)(width)(.prec)type 類型type o(八進制輸出無符號整數 不輸出前綴0) x/X(十六進制輸出無符號整數 不輸出前綴0x) u(十進制輸出無符號整數

原创 寬度優先搜索

主要思想: - 利用隊列queue(也可以手寫 利用最後數組裏存的數進行相應的用途) - 注意標記已訪問點visited[i][j] - 注意記錄step數 特點 路徑長度嚴格非降(指到當前狀態的變化次數) 算法邏輯 BFS() {

原创 字符串- KMP算法

KMP確實是比較難理解的算法。 爲了理解KMP 我們首先要知道它的優化利用的是什麼原理 對於樸素的字符串匹配 我們需要兩個遊標i,j分別指向字符串s的將要匹配位和模式串p的將要匹配位 每次發現不匹配了以後,i會回溯到i-(j - 1)

原创 樹- 樹與對應二叉樹之間的轉化

POJ7166樹的鏡面映射 解題思路: 首先樹的輸入形式是以僞滿二叉樹的形式輸入的 涉及到我們如何存儲一棵樹 可以採取左兒子右兄弟的結構 當我們對於一棵樹進行寬度優先遍歷的時候 如果我們並不是按照一層一層的存儲的話常常使用 隊列 的形式

原创 字符串- 題意理解與轉換

*POJ*1822古代密碼 !!!一定要理解題意……審題審題審題 一開始理解成了所有的元素替換成自己或者自己+1 寫了一版 #include <iostream> #include <string.h> #include <algor

原创 二叉樹- 遍歷& 重建

給定後序遍歷和中序遍歷求其後序遍歷 注意點 數組的初始化 建樹過程中 btn *root = new btn;//new 一定不能忘! 左子樹右子樹的建立一定要注意邊界條件 if(i >= 1) root->left

原创 檢索

1:拼寫檢查 查看 提交 統計 提問 總時間限制: 2000ms 內存限制: 65536kB 描述 現在有一些英語單詞需要做拼寫檢查,你的工具是一本詞典。需要檢查的單詞,有的是詞典中的單詞,有的與詞典中的單詞相似

原创 檢索- STL的使用 & 庫函數熟悉

POJ1806詞典 解題思路: 這道題第一反應就是用map來做,但是具體實現中遇到了許多的問題。 輸入如何處理? string 無法用題目提示中的c語言I/O輸入輸出 如何在map中查找存在與否 參考了網上的代碼 具體解決方案如下