原创 【PAT甲級(Advanced Level)練習題】1002. Read Number in Chinese

1. 題目 【牛客網】https://www.nowcoder.com/pat/1/problem/4312 2. c++代碼 #include<iostream> #include<cstring> #include<cmat

原创 【劍指offer】Q6_叢尾到頭打印鏈表(python)

題目 輸入一個鏈表,按鏈表從尾到頭的順序返回一個ArrayList。 解 # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): #

原创 【劍指offer】Q9_用兩個棧實現隊列

題目 用兩個棧來實現一個隊列,完成隊列的Push和Pop操作。 隊列中的元素爲int類型。 解答 兩個棧來回倒就能訪問棧底了,沒啥說的 # -*- coding:utf-8 -*- class Solution: def

原创 【劍指Offer】面試題59 - II. 隊列的最大值(c++)

題目 https://leetcode-cn.com/problems/dui-lie-de-zui-da-zhi-lcof/ 解題思路 使用一個雙向鏈表輔助,保存最大值序列 Note:鏈表中小於後插入的元素的元素,對結果沒有影響

原创 LeetCode刷題: 【5】最長迴文子串 (動態規劃)

1. 題目 給定一個字符串 s,找到 s 中最長的迴文子串。你可以假設 s 的最大長度爲 1000。 示例 1: 輸入: "babad" 輸出: "bab" 注意: "aba" 也是一個有效答案。 示例 2: 輸入: "cb

原创 LeetCode刷題: 【1071】字符串的最大公因子(輾轉相除法)

1. 題目 2. 解題思路 滿足題目要求的子串長度爲兩個字符串長度的最大公因數gcd 計算最大公因數gcd,若兩個字符串以gcd爲週期,且前gcd字符相同 則前gcd字符爲題解 PS: 如果str1 + str2 == str2

原创 LeetCode刷題: 【695】 島嶼的最大面積(深度優先搜索:遞歸)

1. 題目 2. 解題思路(DFS) 以迭代中遇到的1爲起點向四周進行深度優先搜索,把搜索過的位置置0 3. 代碼 class Solution { public: int maxAreaOfIsland(vector<

原创 LeetCode刷題: 【121】買賣股票的最佳時機

1. 題目 給定一個數組,它的第 i 個元素是一支給定股票第 i 天的價格。 如果你最多隻允許完成一筆交易(即買入和賣出一支股票),設計一個算法來計算你所能獲取的最大利潤。 注意你不能在買入股票前賣出股票。 來源:力扣(LeetC

原创 LeetCode刷題: 【994】腐爛的橘子

1. 題目 在給定的網格中,每個單元格可以有以下三個值之一: 值 0 代表空單元格; 值 1 代表新鮮橘子; 值 2 代表腐爛的橘子。 每分鐘,任何與腐爛的橘子(在 4 個正方向上)相鄰的新鮮橘子都會腐爛。 返回直到單元格中沒有新

原创 LeetCode刷題: 【1013】將數組分成和相等的三個部分

題目 給你一個整數數組 A,只有可以將其劃分爲三個和相等的非空部分時才返回 true,否則返回 false。 形式上,如果可以找出索引 i+1 < j 且滿足 (A[0] + A[1] + … + A[i] == A[i+1] +

原创 LeetCode刷題: 【338】比特位計數(動態規劃)

1. 題目 來源:力扣(LeetCode) 鏈接:https://leetcode-cn.com/problems/counting-bits/ 著作權歸領釦網絡所有。商業轉載請聯繫官方授權,非商業轉載請註明出處。 2. 思路

原创 LeetCode刷題: 【820】單詞的壓縮編碼(字典樹、後綴匹配)(c++ 遍歷 map)

1. 題目 2. 思路 官方題解【1. 後綴記錄】【2. 字典樹】 其他題解【3. 反轉排序】 3. 代碼(字典樹) /** * 字典樹結點 */ class Tree{ private: unordered_map<c

原创 LeetCode刷題: 【945】使數組唯一的最小增量

1. 題目 2. 思路 首先對數組排序。 只允許加操作,在按任何次序使元素增加的過程中,保持最少次數的結果是一樣的。 只需讓排好序的數組中每個元素都至少比前一個元素大一即可,差值即爲增加次數。 3. 代碼 class Solut

原创 LeetCode刷題: 【914】卡牌分組(求N個數的最大公因數)

1. 題目 2. 思路 如何求N個數的最大公因數呢?(N > 1) 在初等數學裏,有這麼幾個定理 1、任何一個整數,都可以分解爲素數因子的乘積 比如 24 = 2* 2* 2 * 3; 26 = 2 * 13; 分解時應該從2

原创 LeetCode刷題: 【876】鏈表的中間結點(快慢指針)

1. 題目 2. 思路 在遍歷單鏈表過程中,尾指針+2,中指針+1 3. 代碼 /** * Definition for singly-linked list. * struct ListNode { * int