原创 【LeetCode】 784. 字母大小寫全排列

1.題目 給定一個字符串S,通過將字符串S中的每個字母轉變大小寫,我們可以獲得一個新的字符串。返回所有可能得到的字符串集合。 2.思路 遞歸思路 3.代碼 class Solution { public: void cha

原创 【LeetCode】 409. 最長迴文串

1.題目 給定一個包含大寫字母和小寫字母的字符串,找到通過這些字母構造成的最長的迴文串。 在構造過程中,請注意區分大小寫。比如 “Aa” 不能當做一個迴文字符串。 注意: 假設字符串的長度不會超過 1010。 2.思路 建立map

原创 【LeetCode】 551. 學生出勤紀錄 I

1.題目 給定一個字符串來代表一個學生的出勤紀錄,這個紀錄僅包含以下三個字符: ‘A’ : Absent,缺勤 ‘L’ : Late,遲到 ‘P’ : Present,到場 如果一個學生的出勤紀錄中不超過一個’A’(缺勤)並且不超過

原创 【LeetCode】868. 二進制間距

1.題目 給定一個正整數 N,找到並返回 N 的二進制表示中兩個連續的 1 之間的最長距離。 如果沒有兩個連續的 1,返回 0 。 2.思路 step1:把數字換算成二進制放在向量中; step2:把向量中等於一的數字的索引放入新

原创 【LeetCode】 521. 最長特殊序列 Ⅰ

1.題目 給定兩個字符串,你需要從這兩個字符串中找出最長的特殊序列。最長特殊序列定義如下:該序列爲某字符串獨有的最長子序列(即不能是其他字符串的子序列)。 子序列可以通過刪去字符串中的某些字符實現,但不能改變剩餘字符的相對順序。空序

原创 【LeetCode】 762. 二進制表示中質數個計算置位

1.題目 給定兩個整數 L 和 R ,找到閉區間 [L, R] 範圍內,計算置位位數爲質數的整數個數。 (注意,計算置位代表二進制表示中1的個數。例如 21 的二進制表示 10101 有 3 個計算置位。還有,1 不是質數。) 2

原创 【LeetCode】520. 檢測大寫字母

1.題目 給定一個單詞,你需要判斷單詞的大寫使用是否正確。 我們定義,在以下情況時,單詞的大寫用法是正確的: 全部字母都是大寫,比如"USA"。 單詞中所有字母都不是大寫,比如"leetcode"。 如果單詞不只含有一個字母,只有首

原创 【LeetCode】 349. 兩個數組的交集

1.題目 給定兩個數組,編寫一個函數來計算它們的交集。 2.思路 step1:遍歷兩個向量; step2:把重複的元素加入到set中(set不重複) step3:返回set對應的vector 注意:數組1、2爲空集的時候,直接返回

原创 【LeetCode】788. 旋轉數字

1.題目 我們稱一個數 X 爲好數, 如果它的每位數字逐個地被旋轉 180 度後,我們仍可以得到一個有效的,且和 X 不同的數。要求每位數字都要被旋轉。 如果一個數的每位數字被旋轉以後仍然還是一個數字, 則這個數是有效的。0, 1,

原创 【LeetCode】 806. 寫字符串需要的行數

1.題目 806 我們要把給定的字符串 S 從左到右寫到每一行上,每一行的最大寬度爲100個單位,如果我們在寫某個字母的時候會使這行超過了100 個單位,那麼我們應該把這個字母寫到下一行。我們給定了一個數組 widths ,這個數組

原创 【LeetCode】 705. 706. 設計哈希映射\集合

1.題目 705: 不使用任何內建的哈希表庫設計一個哈希集合 具體地說,你的設計應該包含以下的功能 add(value):向哈希集合中插入一個值。 contains(value) :返回哈希集合中是否存在這個值。 remove(va

原创 【LeetCode】 350. 兩個數組的交集 II

1.題目 給定兩個數組,編寫一個函數來計算它們的交集。 2.思路 此題對第一題的區別在於可以輸出相同數字 例如:輸入【1,2,2,1】,【2,2】;輸出【2,2】 step1:遍歷兩個向量; step2:把兩個數組重複的元素加入到

原创 【LeetCode】 575. 分糖果

1.題目 給定一個偶數長度的數組,其中不同的數字代表着不同種類的糖果,每一個數字代表一個糖果。你需要把這些糖果平均分給一個弟弟和一個妹妹。返回妹妹可以獲得的最大糖果的種類數。 2.思路 建立map存放不同類型的糖果,得出map長度

原创 【C++】String常用

1.string類的構造函數: string(const char *s); //用c字符串s初始化 string(int n,char c); //用n個字符c初始化 此外,string類還支持默認構造函數和複製構造

原创 【LeetCode】812. 最大三角形面積

1.題目 給定包含多個點的集合,從其中取三個點組成三角形,返回能組成的最大三角形的面積。 示例: 輸入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]] 輸出: 2 解釋: 這五個點如下圖所示。組成