2024年11月刷題記錄

jiamian22發表於2024-12-08

2024年11月2日

【leetcode】3226. 使兩個整數相等的位更改次數

題意:

給你兩個正整數 nk

你可以選擇 n二進位制表示 中任意一個值為 1 的位,並將其改為 0。

返回使得 n 等於 k 所需要的更改次數。如果無法實現,返回 -1。




2024年11月3日

【leetcode】151. 反轉字串中的單詞

題意:

給你一個字串 s ,請你反轉字串中 單詞 的順序。

單詞 是由非空格字元組成的字串。s 中使用至少一個空格將字串中的 單詞 分隔開。

返回 單詞 順序顛倒且 單詞 之間用單個空格連線的結果字串。

注意:輸入字串 s中可能會存在前導空格、尾隨空格或者單詞間的多個空格。返回的結果字串中,單詞間應當僅用單個空格分隔,且不包含任何額外的空格。




2024年11月4日

【leetcode】633. 平方數之和

題意:

給定一個非負整數 c ,你要判斷是否存在兩個整數 ab,使得 a^2 + b^2 = c




2024年11月5日

【leetcode】3222. 求出硬幣遊戲的贏家

題意:

給你兩個 整數 xy ,分別表示價值為 75 和 10 的硬幣的數目。

Alice 和 Bob 正在玩一個遊戲。每一輪中,Alice 先進行操作,Bob 後操作。每次操作中,玩家需要拿出價值 總和 為 115 的硬幣。如果一名玩家無法執行此操作,那麼這名玩家 輸掉 遊戲。

兩名玩家都採取 最優 策略,請你返回遊戲的贏家。




2024年11月6日

【leetcode】3254. 長度為 K 的子陣列的能量值 I

題意:

給你兩個 整數 xy ,分別表示價值為 75 和 10 的硬幣的數目。

Alice 和 Bob 正在玩一個遊戲。每一輪中,Alice 先進行操作,Bob 後操作。每次操作中,玩家需要拿出價值 總和 為 115 的硬幣。如果一名玩家無法執行此操作,那麼這名玩家 輸掉 遊戲。

兩名玩家都採取 最優 策略,請你返回遊戲的贏家。




2024年11月7日

【leetcode】3255. 長度為 K 的子陣列的能量值 II

題意:

給你一個長度為 n 的整數陣列 nums 和一個正整數 k

一個陣列的 能量值 定義為:

  • 如果 所有 元素都是依次 連續上升 的,那麼能量值為 最大 的元素。
  • 否則為 -1 。

你需要求出 nums 中所有長度為 k 的子陣列的能量值。

請你返回一個長度為 n - k + 1 的整數陣列 results ,其中 results[i] 是子陣列 nums[i..(i + k - 1)] 的能量值。




2024年11月8日

【leetcode】219. 存在重複元素 II

題意:

給你一個整數陣列 nums 和一個整數 k ,判斷陣列中是否存在兩個 不同的索引 ij ,滿足 nums[i] == nums[j]abs(i - j) <= k 。如果存在,返回 true ;否則,返回 false




2024年11月9日

【leetcode】3242. 設計相鄰元素求和服務

題意:

給你一個 n x n 的二維陣列 grid,它包含範圍 [0, n^2 - 1] 內的不重複元素。

實現 neighborSum 類:

  • neighborSum(int [][]grid) 初始化物件。
  • int adjacentSum(int value) 返回在 grid 中與 value 相鄰的元素之,相鄰指的是與 value 在上、左、右或下的元素。
  • int diagonalSum(int value) 返回在 grid 中與 value 對角線相鄰的元素之,對角線相鄰指的是與 value 在左上、右上、左下或右下的元素。



2024年11月10日

【leetcode】540. 有序陣列中的單一元素

題意:

給你一個僅由整陣列成的有序陣列,其中每個元素都會出現兩次,唯有一個數只會出現一次。

請你找出並返回只出現一次的那個數。

你設計的解決方案必須滿足 O(log n) 時間複雜度和 O(1) 空間複雜度。




2024年11月11日

【leetcode】28. 找出字串中第一個匹配項的下標

題意:

給你兩個字串 haystackneedle ,請你在 haystack 字串中找出 needle 字串的第一個匹配項的下標(下標從 0 開始)。如果 needle 不是 haystack 的一部分,則返回 -1




2024年11月12日

【leetcode】3258. 統計滿足 K 約束的子字串數量 I

題意:

給你一個 二進位制 字串 s 和一個整數 k

如果一個 二進位制字串 滿足以下任一條件,則認為該字串滿足 k 約束

  • 字串中 0 的數量最多為 k
  • 字串中 1 的數量最多為 k

返回一個整數,表示 s 的所有滿足 k 約束 的子字串的數量。




2024年11月17日

【leetcode】3258. 統計滿足 K 約束的子字串數量 I

題意:

根據百度百科, 生命遊戲 ,簡稱為 生命 ,是英國數學家約翰·何頓·康威在 1970 年發明的細胞自動機。

給定一個包含 m × n 個格子的皮膚,每一個格子都可以看成是一個細胞。每個細胞都具有一個初始狀態: 1 即為 活細胞 (live),或 0 即為 死細胞 (dead)。每個細胞與其八個相鄰位置(水平,垂直,對角線)的細胞都遵循以下四條生存定律:

  1. 如果活細胞周圍八個位置的活細胞數少於兩個,則該位置活細胞死亡;
  2. 如果活細胞周圍八個位置有兩個或三個活細胞,則該位置活細胞仍然存活;
  3. 如果活細胞周圍八個位置有超過三個活細胞,則該位置活細胞死亡;
  4. 如果死細胞周圍正好有三個活細胞,則該位置死細胞復活;

下一個狀態是透過將上述規則同時應用於當前狀態下的每個細胞所形成的,其中細胞的出生和死亡是同時發生的。給你 m x n 網格皮膚 board 的當前狀態,返回下一個狀態。




2024年11月18日

【leetcode】661. 圖片平滑器

題意:

影像平滑器 是大小為 3 x 3 的過濾器,用於對影像的每個單元格平滑處理,平滑處理後單元格的值為該單元格的平均灰度。

每個單元格的 平均灰度 定義為:該單元格自身及其周圍的 8 個單元格的平均值,結果需向下取整。(即,需要計算藍色平滑器中 9 個單元格的平均值)。

如果一個單元格周圍存在單元格缺失的情況,則計算平均灰度時不考慮缺失的單元格(即,需要計算紅色平滑器中 4 個單元格的平均值)。

給你一個表示影像灰度的 m x n 整數矩陣 img ,返回對影像的每個單元格平滑處理後的影像 。




2024年11月19日

【leetcode】637. 二叉樹的層平均值

題意:

給定一個非空二叉樹的根節點 root , 以陣列的形式返回每一層節點的平均值。與實際答案相差 10^-5 以內的答案可以被接受。




2024年11月21日

【leetcode】3248. 矩陣中的蛇

題意:

大小為 n x n 的矩陣 grid 中有一條蛇。蛇可以朝 四個可能的方向 移動。矩陣中的每個單元格都使用位置進行標識: grid[i][j] = (i * n) + j

蛇從單元格 0 開始,並遵循一系列命令移動。

給你一個整數 n 表示 grid 的大小,另給你一個字串陣列 commands,其中包括 "UP""RIGHT""DOWN""LEFT"。題目測評資料保證蛇在整個移動過程中將始終位於 grid 邊界內。

返回執行 commands 後蛇所停留的最終單元格的位置。