<LeetCode> 题31:数组划分
来源:互联网 发布:linux 显示文件夹内容 编辑:程序博客网 时间:2024/06/11 16:55
题目描述:
给出一个整数数组 nums 和一个整数 k。划分数组(即移动数组 nums 中的元素),使得:
–>所有小于k的元素移到左边
–>所有大于等于k的元素移到右边
返回数组划分的位置,即数组中第一个位置 i,满足 nums[i] 大于等于 k。
注意事项:
你应该真正的划分数组 nums,而不仅仅只是计算比 k 小的整数数,如果数组 nums 中的所有元素都比 k 小,则返回 nums.length。
例如:
给出数组 nums = [3,2,2,1] 和 k = 2,返回 1。
代码:
class Solution {public: int partitionArray(vector<int> &nums, int k) { if(nums.size() == 0) { return 0; } int i = 0; int j = nums.size() - 1; while(i <= j) { while(i <= j && nums[i] < k) { i++; } while(i <= j && nums[j] >= k) { j--; } if(i <= j) { swap(nums[i], nums[j]); i++; j--; } } return i; }};
0 0
- <LeetCode> 题31:数组划分
- (lintcode)第31题,数组划分
- LintCode 31 数组划分
- 数组划分
- 数组划分
- 数组划分
- 数组划分
- 数组划分
- 数组划分
- 数组划分
- Leetcode 410. Split Array Largest Sum 划分数组 解题报告
- LeetCode 561 Array Partition I(数组划分)
- LintCode-数组划分
- LintCode 数组划分
- LintCode:数组划分
- LintCode 数组划分
- lintcode之数组划分
- LintCode:数组划分
- 个域名最多能对应几个IP地址?,一个IP地址可以绑定几个域名?
- Educational Codeforces Round 15 C. Cellular Network
- unity MonoBehavior 函数执行顺序和生命周期
- 最少钱币数
- Crafting Winning Solutions
- <LeetCode> 题31:数组划分
- HDU1532——Drainage Ditches(网络流Dinic算法)
- 在霍格沃茨找零钱
- OSI七层协议每层的代表性协议举例
- 欢迎使用CSDN-markdown编辑器
- 个位数统计
- spring mvc 上传文件
- HDU 5777 domino
- POJ 2096 Collecting Bugs (基础概率DP)