力扣刷題記錄

1、編寫(xiě)一個(gè) SQL 查詢(xún),來(lái)刪除 Person 表中所有重復(fù)的電子郵箱,重復(fù)的郵箱里只保留 Id 最小 的那個(gè)。
+----+------------------+
| Id | Email            |
+----+------------------+
| 1  | john@example.com |
| 2  | bob@example.com  |
| 3  | john@example.com |
+----+------------------+

Id 是這個(gè)表的主鍵。
例如,在運(yùn)行你的查詢(xún)語(yǔ)句之后,上面的 Person 表應(yīng)返回以下幾行:
+----+------------------+
| Id | Email            |
+----+------------------+
| 1  | john@example.com |
| 2  | bob@example.com  |
+----+------------------+

解題思路

 #使用group by分組,查詢(xún)最小的id,刪除表中不包括這些id的項(xiàng)
delete from person where id not in (select t.id from (select min(id) id from person group by email)t)
2、給定一個(gè)只包括 '(',')','{','}','[',']' 的字符串,判斷字符串是否有效。
有效字符串需滿(mǎn)足:
  左括號(hào)必須用相同類(lèi)型的右括號(hào)閉合。
  左括號(hào)必須以正確的順序閉合。
  注意空字符串可被認(rèn)為是有效字符串。

解題思路

 #使用棧結(jié)構(gòu)先進(jìn)先出的特點(diǎn),push進(jìn)一個(gè)左括號(hào),根據(jù)題目得知下一個(gè)括號(hào)必定為右括號(hào),所以我們可以push進(jìn)當(dāng)前相反的括號(hào),判斷下一個(gè)括號(hào)是否為剛push進(jìn)入棧的符號(hào)即可

class Solution {
    public boolean isValid(String s) {
        Stack<Character> stack = new Stack<>();
        for (char c:s.toCharArray()){
            if (c == '('){
                stack.push(')');
            }else if (c == '['){
                stack.push(']');
            }else if (c == '{'){
                stack.push('}');
            }else if (stack.isEmpty() || c != stack.pop()){
                return false;
            }
        }
        return stack.isEmpty();
    }
}
3、給你一個(gè)字符串 s 和一個(gè) 長(zhǎng)度相同 的整數(shù)數(shù)組 indices 。請(qǐng)你重新排列字符串 s ,其中第 i 個(gè)字符需要移動(dòng)到 indices[i] 指示的位置。返回重新排列后的字符串。
#   示例1
輸入:s = "codeleet", indices = [4,5,6,7,0,2,1,3]
輸出:"leetcode"
解釋?zhuān)喝鐖D所示,"codeleet" 重新排列后變?yōu)?"leetcode" 。
#   示例2
輸入:s = "aiohn", indices = [3,1,4,2,0]
輸出:"nihao"

解題思路:

public static void restoreString(String s, int[] indices) {
        char[] chars = s.toCharArray();
        char[] s1 = new char[indices.length];
        int j = 0;
        for (int i:indices){
            s1[i] = chars[j];
            j++;
        }
        System.out.println(new String(s1));
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容