每日一練 leetcode

2022-09-18 23:51:10 字數 1160 閱讀 5308

給定乙個包含 n 個整數的陣列 nums 和乙個目標值 target,判斷 nums 中是否存在四個元素 a,b,c 和 d ,使得 a + b + c + d 的值與 target 相等?找出所有滿足條件且不重複的四元組。

注意:答案中不可以包含重複的四元組。

示例 1:

輸入:nums = [1,0,-1,0,-2,2], target = 0

輸出:[[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]

示例 2:

輸入:nums = , target = 0

輸出:0 <= nums.length <= 200

-109 <= nums[i] <= 109

-109 <= target <= 109

此題和我上次發的三數之和是一樣 思路就不寫了,**入下:

class solution 

arrays.sort(nums);

int length = nums.length;

for (int i = 0; i < length - 3; i++)

if (nums[i] + nums[i + 1] + nums[i + 2] + nums[i + 3] > target)

if (nums[i] + nums[length - 3] + nums[length - 2] + nums[length - 1] < target)

for (int j = i + 1; j < length - 2; j++)

if (nums[i] + nums[j] + nums[j + 1] + nums[j + 2] > target)

if (nums[i] + nums[j] + nums[length - 2] + nums[length - 1] < target)

int left = j + 1, right = length - 1;

while (left < right)

left++;

while (left < right && nums[right] == nums[right - 1])

right--;

} else if (sum < target) else }}

}return quadruplets;

}}

Leetcode 每日一練

最小棧 設計乙個支援 push pop top 操作,並能在常數時間內檢索到最小元素的棧。push x 將元素 x 推入棧中。pop 刪除棧頂的元素。top 獲取棧頂元素。getmin 檢索棧中的最小元素。示例 輸入 minstack push push push getmin pop top ge...

Leetcode 每日一練

leetcode 每日一練 擁有最多糖果的孩子 給你乙個陣列 candies 和乙個整數 extracandies 其中 candies i 代表第 i 個孩子擁有的糖果數目。對每乙個孩子,檢查是否存在一種方案,將額外的 extracandies 個糖果分配給孩子們之後,此孩子有 最多 的糖果。注意...

Leetcode 每日一練

猜數字 小a 和 小b 在玩猜數字。小b 每次從 1,2,3 中隨機選擇乙個,小a 每次也從 1,2,3 中選擇乙個猜。他們一共進行三次這個遊戲,請返回 小a 猜對了幾次?輸入的guess陣列為 小a 每次的猜測,answer陣列為 小b 每次的選擇。guess和answer的長度都等於3。示例 1...