【LEETCODE】41、905. Sort Array By Parity
2024-10-20 16:28:55
package y2019.Algorithm.array; /**
* @ProjectName: cutter-point
* @Package: y2019.Algorithm.array
* @ClassName: SortArrayByParity
* @Author: xiaof
* @Description: 905. Sort Array By Parity
* Given an array A of non-negative integers, return an array consisting of all the even elements of A,
* followed by all the odd elements of A.
* You may return any answer array that satisfies this condition.
*
* Input: [3,1,2,4]
* Output: [2,4,3,1]
* The outputs [4,2,3,1], [2,4,1,3], and [4,2,1,3] would also be accepted.
*
* @Date: 2019/7/3 8:48
* @Version: 1.0
*/
public class SortArrayByParity { public int[] solution(int[] A) {
//先获取所有偶元素,然后获取所有奇元元素,还有一个方法就是交换前后位置
//吧所有偶数放到前面,奇数放后面,类似快排
int index1 = 0, index2 = A.length - 1;
while(index1 < index2) {
//遍历起始第一个不是偶数的位置
while(index1 < A.length && (A[index1] & 1) == 0) {
index1++;
}
//后面往前,找到第一个不是奇数
while(index2 > 0 && (A[index2] & 1) == 1) {
index2--;
}
//交换位置
if(index1 < index2 && index1 < A.length && index2 > 0) {
//交换位置
int temp = A[index1];
A[index1] = A[index2];
A[index2] = temp;
}
} return A;
} public static void main(String args[]) {
int A[] = {3,1,2,4};
SortArrayByParity fuc = new SortArrayByParity();
System.out.println(fuc.solution(A));
}
}
最新文章
- LightGBM中GBDT的实现
- Visual Studio工具——为编辑器增加垂直辅助线
- Unity3D多人协作开发环境搭建
- d is undefined错误
- Orchard Core一分钟搭建ASP.NET Core CMS
- 网站开发进阶(三十八)Web前端开发规范文档你需要知道的事
- 驰骋工作流引擎 -Webservice接口说明文档
- 下载Dynamics 365 Customer Engagement 工具
- [CQOI2018]交错序列
- setValuesForKeysWithDictionary:的用途
- 读取web.config和app.config配置文件
- java-学习5
- RTSP server 在mips 上莫名其妙退出(PC上则无此问题)
- I2C总线信号时序总结【转】
- 各大公司java后端开发面试题
- 文本处理三剑客之 sed
- NDK 链接第三方静态库的方法
- Swift3.0字符串大小写转化
- 第二次c++作业(觉得渐渐入门系列)
- 微信小程序 - 输入起点、终点获取距离并且进行路线规划(腾讯地图)