博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LintCode 31. partitionArray 数组划分
阅读量:7067 次
发布时间:2019-06-28

本文共 712 字,大约阅读时间需要 2 分钟。

31. partitionArray 数组划分

题目链接

题目描述

给出一个整数数组 nums 和一个整数 k。划分数组(即移动数组 nums 中的元素),使得:

所有小于k的元素移到左边

所有大于等于k的元素移到右边
返回数组划分的位置,即数组中第一个位置 i,满足 nums[i] 大于等于 k。

  1. 注意事项

你应该真正的划分数组 nums,而不仅仅只是计算比 k 小的整数数,如果数组 nums 中的所有元素都比 k 小,则返回 nums.length。

  1. 样例

给出数组 nums = [3,2,2,1] 和 k = 2,返回 1.

  1. 挑战

使用 O(n) 的时间复杂度在数组上进行划分。

分析

简单来说就是快排跑一圈

代码

class Solution {public:    /**     * @param nums: The integer array you should partition     * @param k: An integer     * @return: The index after partition     */    int partitionArray(vector
&nums, int k) { // write your code here int i,j; int n = nums.size(); if(n==0) return 0; i = 0; j=n-1; while(i
=k) j--; if(i

转载地址:http://iwall.baihongyu.com/

你可能感兴趣的文章
洛谷P3952 时间复杂度
查看>>
Leetcode | Parentheses 相关
查看>>
Ajax分页问题
查看>>
如何禁止内部viewPager滑动
查看>>
简单的转义字符
查看>>
RabbitMQ入门-Topic模式
查看>>
poj 2777 Count Color(线段树区间更新)
查看>>
Java数据结构与算法(5) - ch05链表(LinkList)
查看>>
CLR Via CSharp读书笔记(21):自动内存管理(垃圾回收)
查看>>
刚刚接触python的感想
查看>>
modelsim使用常见问题及解决办法集锦 ②
查看>>
常用的第三方库
查看>>
java 操作elasticsearch之搭建测试项目环境
查看>>
iOS-图文表并茂,手把手教你GCD
查看>>
python之logging模块
查看>>
让Android Studio支持系统签名
查看>>
3.5 Templates -- Binding Element Attributes(绑定元素属性)
查看>>
jquery常用技巧及常用方法列表集合
查看>>
Microsoft Dynamics AX 2012 正式版虚拟机
查看>>
iOS-CALayer图片淡入淡出动画
查看>>