LintCode-数组划分
题目描述:
给出一个整数数组nums和一个整数k。划分数组(即移动数组nums中的元素),使得:
- 所有小于k的元素移到左边
- 所有大于等于k的元素移到右边
 
返回数组划分的位置,即数组中第一个位置i,满足nums[i]大于等于k。
注意事项
你应该真正的划分数组nums,而不仅仅只是计算比k小的整数数,如果数组nums中的所有元素都比k小,则返回nums.length。
给出数组nums=[3,2,2,1]和 k=2,返回 1
 public class Solution {
     /**
      *@param nums: The integer array you should partition
      *@param k: As description
      *return: The index after partition
      */
     public int partitionArray(int[] nums, int k) {
        int length = nums.length;
          for(int i=0;i<length;i++){
              if(nums[i]>=k){
                  for(int j=length-1;j>=i;j--){
                      if(nums[j]<k){
                          int temp;
                          temp = nums[i];
                          nums[i] = nums[j];
                          nums[j] = temp;
                          length = j+1;
                          break;
                      }
                      if(j==i){
                          return j;
                      }
                  }
              }
          }
          return nums.length;
     }
 }
LintCode-数组划分的更多相关文章
- lintcode 中等题:partition array 数组划分
		题目 数组划分 给出一个整数数组nums和一个整数k.划分数组(即移动数组nums中的元素),使得: 所有小于k的元素移到左边 所有大于等于k的元素移到右边 返回数组划分的位置,即数组中第一个位置i, ... 
- 将数组划分成连续子序列 Split Array into Consecutive Subsequences
		2018-08-04 20:47:43 问题描述: 问题描述: 本题需要的是将一个数组划分成子序列,保证每个子序列是连续的,并且长度要大于等于3. 解题思路是使用贪心算法,首先对数组中的数字进行计数, ... 
- 基于快速排序的数组划分:2组 3组 K组(sort color)大小写排序 · Partition Array
		2组: [抄题]: 给出一个整数数组 nums 和一个整数 k.划分数组(即移动数组 nums 中的元素),使得: 所有小于k的元素移到左边 所有大于等于k的元素移到右边 返回数组划分的位置,即数组中 ... 
- hdu-4417 Super Mario(树状数组 + 划分树)
		题目链接: Super Mario Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ... 
- CodeForces - 1175D Array Splitting(数组划分+后缀和+贪心)
		You are given an array a1,a2,…,ana1,a2,…,an and an integer kk. You are asked to divide this array in ... 
- lintcode :数组剔除元素后的乘积
		题目: 数组剔除元素后的乘积 给定一个整数数组A. 定义B[i] = A[0] * ... * A[i-1] * A[i+1] * ... * A[n-1], 计算B的时候请不要使用除法. 样例 给出 ... 
- SCUT - 299 - Kaildls的数组划分 - dp - 高精
		https://scut.online/p/299 \(dp[i][k]\) 为前 \(i\) 个数分 \(k\) 组的最大值,那么 $dp[i][k]=max_{p=1}^{i-1}{dp[p][k ... 
- 动态规划-划分数组的最大和 Split Array Largest Sum
		2019-10-14 22:13:18 问题描述: 问题求解: 解法一:动态规划 这种数组划分的题目基本都可以使用dp来解决,核心的思路就是先维护低的划分,再在中间找分割点加入新的划分. public ... 
- poj1743 Musical Theme(后缀数组|后缀自动机)
		[题目链接] http://poj.org/problem?id=1743 [题意] 求不可重叠最长重复子串. 2015-11-27 [思路] 1) 据题意处理字符串 ... 
- HDOJ 4417 - Super Mario 线段树or树状数组离线处理..
		题意: 同上 题解: 抓着这题作死的搞~~是因为今天练习赛的一道题.SPOJ KQUERY.直到我用最后一种树状数组通过了HDOJ这题后..交SPOJ的才没超时..看排名...时间能排到11名了..有 ... 
随机推荐
- UIView 属性
			1.alpha 设置视图的透明度.默认为1. ojbc // 完全透明 view.alpha = 0; // 不透明 view.alpha = 1; 2.clipsToBounds 默认是NO,当设置 ... 
- iOS根据2个经纬度计算距离
			#pragma mark - calculate distance 根据2个经纬度计算距离 #define PI 3.14159265358979323 +(double) CalculationDi ... 
- Java 之HashMap.values()方法误用
			1.出错 今天在测试代码的时候发现程序报错,看代码才知道是使用HashMap.values()方法的时候出错.因为项目中需要获取Map的值的集合然后进行遍历,所以就很自然的调用了HashMap.val ... 
- tomcat的catalina
			Tomcat的核心分为3个部分: (1)Web容器---处理静态页面: (2)catalina --- 一个servlet容器-----处理servlet; (3)还有就是JSP容器,它就是把jsp页 ... 
- QF——iOS沙盒机制
			iOS沙盒机制: 什么是沙盒机制? 点击进入 点击进入 沙盒机制(SandBox)是一种安全体系,它规定了APP的所有文件数据都必须存储在这片区域.所有非代码文件的数据都保存在这片区域. 沙盒里有 ... 
- python打包成.exe工具py2exe0-----No such file or directory错误
			转自:http://justcoding.iteye.com/blog/900993 一.简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具, ... 
- C#实现微信开发
			C#实现微信开发前奏 不想废话,直接写了!因为是留给自己做随笔的,所以大神们看到别喷…… 1.必须有微信公众账号 2.你也可以申请测试微信号,链接给你 http://mp.weixin.qq.co ... 
- selenium webdriver 学习笔记(二)
			selenium webdriver 一.定位一组元素: webdriver可以很方便的使用findElement 方法来定位某个物定的对象.不过有时候我们却要定位一组对象,这时候就需要使用findE ... 
- 转: Apache开启gzip
			Apache开启gzip gzip是什么 HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技术.大流量的WEB站点常常使用GZIP压缩技术来让用户感受更快的速度. 这一般是指WWW服务器 ... 
- 04737_C++程序设计_第10章_面向对象设计实例
			10.6.2 使用包含的参考程序及运行结果. 头文件cpp10.h 源文件cpp10.cpp 源文件Find10.cpp 头文件cpp10.h #if ! defined(CPP10_H) #defi ... 
