当前位置: 首页 > article >正文

2161根据数字划分数组

给你一个下标从 0 开始的整数数组 nums 和一个整数 pivot 。请你将 nums 重新排列,使得以下条件均成立:

  • 所有小于 pivot 的元素都出现在所有大于 pivot 的元素 之前 。
  • 所有等于 pivot 的元素都出现在小于和大于 pivot 的元素 中间 。
  • 小于 pivot 的元素之间和大于 pivot 的元素之间的 相对顺序 不发生改变。
    • 更正式的,考虑每一对 pipj ,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 数组后的结果数组。

力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台备战技术面试?力扣提供海量技术面试资源,帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。icon-default.png?t=N7T8https://leetcode.cn/problems/partition-array-according-to-given-pivot/description/

示例 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] ,它们在结果数组中的相对顺序需要保留。

class Solution 
{
public:
    vector<int> pivotArray(vector<int>& nums, int pivot) 
    {
        vector<int> resa;
        vector<int> resb;
        vector<int> resc;

        for (int x : nums)
        {
            if (x < pivot)
            {
                resa.push_back(x);
            }
            else if (x == pivot)
            {
                resb.push_back(x);
            }
            else
            {
                resc.push_back(x);
            }
        }

        resa.insert(resa.end(), resb.begin(), resb.end());
        resa.insert(resa.end(), resc.begin(), resc.end());
        return resa;

    }
};


http://www.kler.cn/a/148138.html

相关文章:

  • Java集合框架之Collection集合遍历
  • 探索MoviePy:Python视频编辑的瑞士军刀
  • 企业一站式管理系统odoo的研究——PLM插件的搭建
  • 【C++学习(37)】并发性模式:如生产者-消费者、读写锁等。 架构模式:如MVC、MVVM等。属于23 种设计模式吗? RAII 的关系?
  • [JAVAEE] 面试题(四) - 多线程下使用ArrayList涉及到的线程安全问题及解决
  • Flink1.19编译并Standalone模式本地运行
  • 没有哈希时间锁定合约的跨链原子交换
  • 为社会做贡献的EasyDarwin 4.0.1发布了,支持视频点播、文件直播、摄像机直播、直播录像、直播回放、录像MP4合成下载
  • 第十五届蓝桥杯(Web 应用开发)模拟赛 1 期-大学组(详细分析解答)
  • Xilinx Zynq-7000系列FPGA任意尺寸图像缩放,提供两套工程源码和技术支持
  • 如何在nginx中进行路径的重写并进行转发到指定服务器
  • 34970A 数据采集 / 数据记录仪开关单元
  • PyCharm简介与安装
  • 【Linux】探索进程的父与子
  • rancher2.6 docker版本部署
  • 系列八、key是弱引用,gc垃圾回收时会影响ThreadLocal正常工作吗
  • 【数据库】基于排序算法的去重,集合与包的并,差,交,连接操作实现原理,执行代价以及优化
  • 短视频账号矩阵系统开发--saas源头技术开发(手机版)
  • 数据中台之核心调度模块的设计
  • [pyqt5]pyqt5设置窗口背景图片后上面所有图片都会变成和背景图片一样
  • 同旺科技 USB 转 RS-485 适配器
  • Vue实现封装自定义指令
  • ROC及曲线面积汇总学习
  • 数据库数据恢复—MongoDB数据库文件拷贝出现错误的数据恢复案例
  • 第四十四天|518. 零钱兑换 II 377. 组合总和 Ⅳ
  • P9231 [蓝桥杯 2023 省 A] 平方差(拆分问题)