算法通关村第三关-白银挑战双指针思想

news2024/7/6 20:12:49

大家好我是苏麟 , 今天带来算法第三关 .

本期大纲

    • 元素奇偶移动专题

元素奇偶移动专题

描述 :

给你一个整数数组 nums,将 nums 中的的所有偶数元素移动到数组的前面,后跟所有奇数元素。
返回满足此条件的 任一数组 作为答案。

题目 :

LeetCode 905. 按奇偶排序数组 :

按奇偶排序数组
在这里插入图片描述
分析 :

我们可以采用对撞型双指针的方法,图示中的对撞型基本一致,只不过比较的对象是奇数还是偶数。如下图所示:
在这里插入图片描述维护两个指针 left=0和 right=arr.ength-1,left从0开始逐个检查每个位置是否为偶数,如果是则跳过如果是奇数则停下来。然后right从右向左检查,如果是奇数则跳过偶数则停下来。然后交换array[left]和array[right]。之后再继续巡循环,直到left> =right。

解析 :

class Solution {
    public int[] sortArrayByParity(int[] nums) {
        int left = 0;
        int right = nums.length - 1;
        while(left < right){
            if((nums[left] % 2) > (nums[right] % 2)){
                int temp = nums[left];
                nums[left] = nums[right];
                nums[right] = temp;
            }
            if(nums[left] % 2 == 0){
                left++;
            }
            if(nums[right] % 2 > 0){
                right--;
            }
        }
        return nums;
    }
} 

这期就到这里 , 下期见 !

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1140908.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

成人自考-英语二-连词

感谢内容提供者&#xff1a;金牛区吴迪软件开发工作室 接上一篇&#xff1a;成人自考-英语二-形容词 文章目录 一、连词分类1.并列连词-连接词与词、句与句&#xff08;1&#xff09;词 并列连词 词&#xff08;2&#xff09;句子1 并列连词 句子2 2.从属连词-连接从句&…

私有化部署企业IM即时通讯app,群聊多样化管控

随着企业内部沟通和协作的重要性不断增长&#xff0c;私有化部署企业即时通讯&#xff08;IM&#xff09;app成为了企业保护内部信息安全的一种重要手段。在这个领域&#xff0c;安全专属的移动数字化平台WorkPlus&#xff0c;支持私有化部署&#xff0c;涵盖即时通讯和办公应用…

保姆级认识AVL树【C++】(精讲:AVL Insert)

目录 前言 一&#xff0c;概念 二&#xff0c;定义 三&#xff0c;insert 1. 插入情况 情况一&#xff1a; 情况二&#xff1a; 情况三&#xff1a; 2. 旋转方法 法一&#xff1a;左单旋法 法二&#xff1a;右单旋法 法三&#xff1a;先左后右双旋法 法四&#xf…

67 内网安全-域横向smbwmi明文或hash传递

#知识点1: windows2012以上版本默认关闭wdigest&#xff0c;攻击者无法从内存中获取明文密码windows2012以下版本如安装KB2871997补丁&#xff0c;同样也会导致无法获取明文密码针对以上情况&#xff0c;我们提供了4种方式解决此类问题 1.利用哈希hash传递(pth&#xff0c;ptk等…

递归为什么这么难?一篇文章带你了解递归

递归为什么这么难&#xff1f;一篇文章带你了解递归 美国计算机科学家——彼得多伊奇(L Peter Deutsch)在《程序员修炼之道》(The Pragmatic Programmer)一书中提到“To Iterate is Human, to Recurse, Divine”——我理解的这句话为&#xff1a;人理解迭代&#xff0c;神理解…

电脑下载视频号视频:微信视频号如何下载到电脑桌面上?

很多人做视频的时候需要将视频号的视频下载到电脑上&#xff0c;该如何操作呢&#xff1f;接下来我们通过电脑下载视频号视频希望对大家有所帮助。 方法一&#xff1a;使用在线视频下载网站 有一些在线视频下载网站可以帮助你从视频号上下载视频到电脑。你只需将视频的链接复制…

三个禁止使用U盘的方案

三个禁止使用U盘的方案 安企神U盘管理系统下载使用 U盘是一种小型便携式的存储设备&#xff0c;可以方便地传输和存储各种类型的数据&#xff0c;但也因此带来了一些安全隐患。在一些特殊的场合&#xff0c;如公司、商业场地等&#xff0c;为了保护内部数据被盗取外泄&#x…

怎么才能写好宣传软文?媒介盒子为你揭秘

数字化时代改变了企业的宣传方式&#xff0c;软文成为企业宣传的主要方式&#xff0c;但是企业真的会写宣传软文吗&#xff1f;为什么宣传软文不起效果&#xff1f;下面媒介盒子先和大家分享宣传软文的写作技巧 一、为什么要宣传 企业为什么需要宣传&#xff0c;主要有三类情况…

JS实现商品SKU

<!DOCTYPE html> <html> <head><title>商品SKU</title><link rel"stylesheet" href"element/css/element.css"><style>*{ margin:0; padding:0px; box-sizing: border-box; }ul,li{ list-style-type: none;}bod…

Python武器库开发-高级特性篇(八)

高级特性篇(八) 高阶函数 Python作为一门高级编程语言&#xff0c;拥有着强大的函数式编程能力。其中高阶函数就是Python函数式编程的重要组成部分。在Python中&#xff0c;函数可以被当作变量一样进行操作&#xff0c;包括作为参数传递给其他函数&#xff0c;或者作为返回值…

DBSCAN算法c++实现

首先计算出距离每个点e以内的点&#xff0c;如果个数>minPts,则找出它的直接密度可达和间接可达的点&#xff0c;用visited标记点是否已经在簇中&#xff0c;循环直到最后一个点。 #include <fstream> #include <vector> #include <iostream> #include &…

Leetcode.树形DP

目录 543.二叉树的直径 124.二叉树中的最大路径和 2246.相邻字符不同的最长路径 543.二叉树的直径 用递归来写 考虑 树形DP 维护以当前节点为根节点的最大值&#xff0c;同时返回给父节点经过当前节点的最大链的长度&#xff0c;这有个trick 当遍历到空节点的时候返回-1 递归…

mq消费并发排队及幂等机制实现

一&#xff0c;解决什么问题及实现方案 主要为了解决并发访问排队执行及重复下发保证幂等的问题 实现技术方案 如何实现并发访问时&#xff0c;请求排队执行方法。Redssion 如何实现MQ重复下发时&#xff0c;保证幂等。redis 先插入一个分布式锁的话题&#xff0c;如下&am…

LeetCode 740.删除并获得点数---->打家劫舍

前言&#xff1a;简单写写自己对这道题的拙见&#xff0c;如有意见或者建议可以联系笔者owo 首先&#xff0c;看看完整题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;你可以对它进行一些操作。 每次操作中&#xff0c;选择任意一个 nums[i] &#xff0c;删除它并获…

归并排序(java)

大家好我是苏麟 , 今天说说归并排序 . 归并排序 递归 正式学习归并排序之前&#xff0c;我们得先学习一下递归算法。 定义&#xff1a; 定义方法时&#xff0c;在方法内部调用方法本身&#xff0c;称之为递归. public void show(){System.out.println("aaaa")…

SEACALL海外呼叫中心系统的优势包括

SEACALL海外呼叫中心系统的优势包括 封卡封号问题解决 海外呼叫中心系统通过API开放平台能力&#xff0c;定制电话营销系统&#xff0c;提供多项功能如自动拨打、智能应答、真人语音交互等&#xff0c;帮助企业克服员工离职率高、客户资源流失严重等挑战。 - 高级管理者操控 …

《实现领域驱动设计》

DDD入门 1.1 DDD是什么&#xff1f; DDD是一种软件开发方法 DDD将领域专家和开发人员聚集到一起&#xff0c;开发的软件能够反映出领域专家的思维模型。目标是&#xff1a;交付最具业务价值的软件。DDD关注业务战略&#xff1a;指引我们如何实现面向服务架构&#xff08;ser…

开题报告怎么写?-案例+模板保姆级)

以前导师让们带本科生开题报告&#xff0c;我深知开题报告在学术研究中的重要性。一个出色的开题报告能够展示学生的科学思维、研究能力和创新潜力。 在本篇博客中&#xff0c;我将为大家详细介绍如何撰写史上最强开题报告。 将从课题的 科学意义国内外研究概况和发展趋势应…

SourceTree 使用

如何拉取远程仓库&#xff1f;如何拉去远程分支&#xff1f;如何创建本地分支&#xff1f;如何删除本地分支&#xff1f;如何删除远端分支&#xff1f; 删除了远程分支&#xff0c;如果本地还有此分支&#xff0c;那么是可以通过推送本地分支来还原远端分支。如何合并本地分支&…

2023中国计算机大会:蚂蚁集团连发两支百万级科研基金

10月26日&#xff0c;中国计算机学会&#xff08;CCF&#xff09;主办的第二十届中国计算机大会(CNCC2023)在沈阳举行。在“CCF-蚂蚁科研基金及产学研合作交流活动”上&#xff0c;蚂蚁集团发布了2023年度“CCF-蚂蚁科研基金”绿色计算及隐私计算两支百万级专项基金&#xff0c…