原创 【leetcode】647. 迴文子串

給定一個字符串,你的任務是計算這個字符串中有多少個迴文子串。 具有不同開始位置或結束位置的子串,即使是由相同的字符組成,也會被計爲是不同的子串。 思路 啊啊啊,注意一點就可以,一個串是子串,只有其中的子串都是迴文串纔算得上是迴文串

原创 【洛谷】P3952 時間複雜度 題解

題目 小明正在學習一種新的編程語言 A++,剛學會循環語句的他激動地寫了好多程序並 給出了他自己算出的時間複雜度,可他的編程老師實在不想一個一個檢查小明的程序, 於是你的機會來啦!下面請你編寫程序來判斷小明對他的每個程序給出的時間

原创 《kotlin實戰》閱讀筆記(1)

變量 分爲 可變的引用(var) 不可變的引用(val) 可變和不可變類似於c++ 中 const 對於指針的限定,而且是頂層const 或者說指正常量。 然後變量是可以進行自動類型推斷的,類似於auto,前提是進行了初始

原创 Kotlin 實戰學習 函數的定義與調用

3.2 讓函數更好調用 可讀性優化 => 命名參數 當指明一個參數的名稱的時候,爲了避免混淆,那它之後的所有參數都要標明名稱。 避免過多的函數重載 => 默認參數值 消除靜態工具類 => 頂層函數和屬性 3.3 給別人的類添加方

原创 Kotlin 可空類型系統的學習

引言 什麼是類型?爲啥變量擁有類型? “類型就是數據的分類… 決定了該類型可能的值和可以完成的操作。” 那麼套用這個定義來分析一下NULL值在類型系統的地位。 比如在java中null是一種數值,但是當一個引用爲null的時候

原创 【leetcode】652. 尋找重複的子樹

給定一棵二叉樹,返回所有重複的子樹。對於同一類的重複子樹,你只需要返回其中任意一棵的根結點即可。 兩棵樹重複是指它們具有相同的結構以及相同的結點值。 思路 首先是進行序列化,然後序列化的過程中,進行樹的深度優先搜索,在樹的搜索過程

原创 【洛谷】P1308 統計單詞數

大致思路是 將讀入的數據轉換成小寫,轉換的函數是使用了transform這個函數 具體用法可以看 transform 然後就是進行單詞查找了。 文章可以看成是很多段組成,每一段都是由一片連續的空格 + 一片連續的字母構成。 所以,

原创 【數據結構學習-線段樹】洛谷 P3372 【模板】線段樹 1

線段樹概念 線段樹(segment Tree) 是一種基於分治思想的二叉樹結構,用於區間上進行信息統計用的。 數據結構定義 線段樹每個節點都代表一個區間。 線段樹具有唯一根節點,代表整個區間。 線段樹每個葉子節點代表一個長度爲1

原创 【leetcode】設計哈希表 - 解決方案

希望有兩種解決方案可以將時間複雜度從 O(n) 降低到 O(1)。 交換 我們可以使用一種巧妙的策略。首先,用存儲桶中的最後一個元素交換要移除的元素。然後刪除最後一個元素。通過這種方法,我們成功地在 O(1) 的時間複雜度中去

原创 【leetcode】841. 鑰匙和房間

有 N 個房間,開始時你位於 0 號房間。每個房間有不同的號碼:0,1,2,…,N-1,並且房間裏可能有一些鑰匙能使你進入下一個房間。 在形式上,對於每個房間 i 都有一個鑰匙列表 rooms[i],每個鑰匙 rooms[i][j

原创 【leetcode】285. 二叉搜索樹中的順序後繼

給你一個二叉搜索樹和其中的某一個結點,請你找出該結點在樹中順序後繼的節點。 結點 p 的後繼是值比 p.val 大的結點中鍵值最小的結點。 思路 一開始我是按照尋找找某節點的後繼去寫的 class Solution { publi

原创 【leetcode】395. 至少有K個重複字符的最長子串

題目 找到給定字符串(由小寫字符組成)中的最長子串 T , 要求 T 中的每一字符出現次數都不少於 k 。輸出 T 的長度。 示例 1: 輸入: s = “aaabb”, k = 3 輸出: 3 最長子串爲 “aaa” ,其中 ‘

原创 【leetcode】253. 會議室 II

給定一個會議時間安排的數組,每個會議時間都會包括開始和結束的時間 [[s1,e1],[s2,e2],…] (si < ei),爲避免會議衝突,同時要考慮充分利用會議室資源,請你計算至少需要多少間會議室,才能滿足這些會議安排。 示例

原创 【leetcode】204. 計數質數

線性篩套一下模板 代碼 class Solution { public: int countPrimes(int n) { if (n < 2) return 0; vector<int>

原创 【leetcode】269. 火星詞典

題目 現有一種使用字母的全新語言,這門語言的字母順序與英語順序不同。 假設,您並不知道其中字母之間的先後順序。但是,會收到詞典中獲得一個 不爲空的 單詞列表。因爲是從詞典中獲得的,所以該單詞列表內的單詞已經 按這門新語言的字母順