LeetCode 2161. 根据给定数字划分数组
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 2161. 根据给定数字划分数组
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
給你一個下標從 0 開始的整數數組 nums 和一個整數 pivot 。
請你將 nums 重新排列,使得以下條件均成立:
- 所有小于 pivot 的元素都出現在所有大于 pivot 的元素 之前 。
- 所有等于 pivot 的元素都出現在小于和大于 pivot 的元素 中間 。
- 小于 pivot 的元素之間和大于 pivot 的元素之間的 相對順序 不發生改變。
更正式的,考慮每一對 pi,pj ,pi 是初始時位置 i 元素的新位置,pj 是初始時位置 j 元素的新位置。
對于小于 pivot 的元素,如果 i < j 且 nums[i] < pivot 和 nums[j] < pivot 都成立,那么 pi < pj 也成立。
類似的,對于大于 pivot 的元素,如果 i < j 且 nums[i] > pivot 和 nums[j] > pivot 都成立,那么 pi < pj 。
請你返回重新排列 nums 數組后的結果數組。
示例 1: 輸入:nums = [9,12,5,10,14,3,10], pivot = 10 輸出:[9,5,3,10,10,12,14] 解釋: 元素 9 ,5 和 3 小于 pivot ,所以它們在數組的最左邊。 元素 12 和 14 大于 pivot ,所以它們在數組的最右邊。 小于 pivot 的元素的相對位置和大于 pivot 的元素的相對位置分別為 [9, 5, 3] 和 [12, 14] ,它們在結果數組中的相對順序需要保留。示例 2: 輸入:nums = [-3,4,3,2], pivot = 2 輸出:[-3,2,4,3] 解釋: 元素 -3 小于 pivot ,所以在數組的最左邊。 元素 4 和 3 大于 pivot ,所以它們在數組的最右邊。 小于 pivot 的元素的相對位置和大于 pivot 的元素的相對位置分別為[-3] 和 [4, 3] ,它們在結果數組中的相對順序需要保留。提示: 1 <= nums.length <= 10^5 -10^6 <= nums[i] <= 10^6 pivot 等于 nums 中的一個元素。來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/partition-array-according-to-given-pivot
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
- 遍歷一次,將3種數字取出來存在3個數組里
- 依次將3個數組的數字填回去
176 ms 136.2 MB C++
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的LeetCode 2161. 根据给定数字划分数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 搞懂DEtection TRanform
- 下一篇: fastapi quickstart学习