思路:
法1:建立一个与原数组同大小的数组res,两次遍历A,偶数放入res的偶下标,奇数放入奇下标;
法2:双指针;
法3:双端队列,遍历A,计数插入前端,偶数插入尾端,然后双指针(1首1尾)对队列遍历,交换位置即可;

//两次遍历
class Solution {public:vector<int> sortArrayByParityII(vector<int>& A) {int n = A.size();vector<int> ans(n);int i = 0;for (int x: A) {if (x % 2 == 0) {ans[i] = x;i += 2;}}i = 1;for (int x: A) {if (x % 2 == 1) {ans[i] = x;i += 2;}}return ans;}
};
//双指针
class Solution {public:vector<int> sortArrayByParityII(vector<int>& A) {int n = A.size();int j = 1;for (int i = 0; i < n; i += 2) {if (A[i] % 2 == 1) {while (A[j] % 2 == 1) {j += 2;}swap(A[i], A[j]);}}   return A;}
};
//双端队列
vector<int> sortArrayByParityII(vector<int> &A)
{int len = A.size();deque<int> q;for (int i = 0; i < len; i++){if ((i & 1) != (A[i] & 1)){//奇数插入到首段,偶数插入到尾端if (i & 1){q.push_front(i);}else{q.push_back(i);}}}int start = 0, end = q.size() - 1;while (start < end){int temp=A[q[start]];A[q[start]]=A[q[end]];A[q[end]]=temp;start++;end--;}return A;
}

Leetcode每日一题:992.sort-array-by-parity-ii(按奇偶排序数组Ⅱ)相关推荐

  1. 992. Sort Array By Parity II - LeetCode

    为什么80%的码农都做不了架构师?>>>    Question 992. Sort Array By Parity II Solution 题目大意:给一个int数组,一半是奇数一 ...

  2. Leetcode PHP题解--D16 922. Sort Array By Parity II

    2019独角兽企业重金招聘Python工程师标准>>> 922. Sort Array By Parity II 题目链接 922. Sort Array By Parity II ...

  3. Leetcode PHP题解--D7 905. Sort Array By Parity

    2019独角兽企业重金招聘Python工程师标准>>> 905. Sort Array By Parity 题目链接 905. Sort Array By Parity 题目分析 这 ...

  4. LeetCode 922 Sort Array By Parity II 解题报告

    题目要求 Given an array A of non-negative integers, half of the integers in A are odd, and half of the i ...

  5. leetcode每日一题第三十三天-剑指 Offer 11. 旋转数组的最小数字(easy)

    前言 通过leetcode记录自己每天坚持刷题,以此监督自己的学习.不能放假了就懈怠

  6. Leetcode每日一题——377.组合总和Ⅳ。完全背包推导。dp数组

    题目链接: 力扣 题目描述: 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target .请你从 nums 中找出并返回总和为 target 的元素组合的个数. 题目数据保证答案符合 ...

  7. 【LeetCode每日一题】1723. 完成所有工作的最短时间

    [LeetCode每日一题]1723. 完成所有工作的最短时间 [1] 1723. 完成所有工作的最短时间 [2] 473. 火柴拼正方形 [1] 1723. 完成所有工作的最短时间 题目: 给你一个 ...

  8. leetcode每日一题--雀巢原理;抽屉算法;Quorum机制;分布式应用

    leetcode每日一题 539. 最小时间差 示例 1: 输入:timePoints = ["23:59","00:00"] 输出:1 示例 2: 输入:ti ...

  9. leetcode每日一题·救生艇问题(Python)

    leetcode每日一题·救生艇问题(Python) 问题描述 题目入口 题目思路 首先分析问题,一个船最多坐两人,因此我们可以把这个问题看作两两组合的问题,并且如果最重的那个人和最轻的人加起来大于l ...

  10. leetcode每日一题825. 适龄的朋友 快排+双指针

    本文目录 leetcode每日一题825. 适龄的朋友 快排+双指针 写在前面 题目 示例 提示 思路 代码实现 执行结果 写在后面 leetcode每日一题825. 适龄的朋友 快排+双指针 写在前 ...

最新文章

  1. html5判断text文本是数字,JavaScript常用判断写法大全
  2. JavaWeb学习之路——SSM框架之SpringMVC(九)
  3. kotlin 中 lambda 表达式的 return 行为
  4. SpringMVC的请求-获得请求参数-参数绑定注解@RequestParam
  5. 100阶乘末尾有多少个零
  6. 4-pycharm找不到模块问题
  7. 第二课 决策树与随机森林
  8. php if !=,php If else 用法
  9. 折叠屏手机又要延期?华为:Mate X按原计划开售
  10. Compiler__visual_studio_2010_pro 激活码
  11. 数仓建设生命周期_建设数据仓库7个步骤
  12. 20190929每日一句
  13. vue 钉钉授权第三方WEB网站扫码登录功能
  14. cmd命令删除计算机密码,怎么用DOS命令查询或消除电脑登陆密码?
  15. 跨页面的多选功能实现
  16. android语言、名称与资源对应关系
  17. 中学计算机教师薪资,中学教师
  18. 第九章 情归情理归理 好话丑话最好都说在前面
  19. ORA-01455: converting column overflows integer datatype
  20. IDV和VDI,桌面虚拟化对比

热门文章

  1. Underscore.js-精巧而强大实用功能库
  2. windows查看进程
  3. 6410 spi 设备驱动
  4. 香港高校校长对话盖茨:技术与社会
  5. BZOJ.3524.[POI2014]Couriers(主席树)
  6. 使用Pushlet将消息从服务器端推送到客户端
  7. 关于在CVS下无法获取更新的解决方法!!!
  8. GenerateResource”任务意外失败的解决方法
  9. (转)Putty server refused our key的三种原因和解决方法
  10. @RestControllerAdvice 异常分析