首页 > 其他分享 >《剑指Offer》-21-调整数组顺序使奇数位于偶数前面

《剑指Offer》-21-调整数组顺序使奇数位于偶数前面

时间:2023-09-19 19:23:42浏览次数:42  
标签:21 nums int 奇数 Offer 偶数 odd 指针

第一想法是双指针,一个指针用于遍历,一个指针用于标记奇数和偶数的分界,而调整位置则通过交换来实现

思路来自于快排代码,分隔指针+交换,也算是双指针?

	vector<int> exchange(vector<int>& nums) {
		// 一个遍历指针,一个分隔指针,odd指向第一个偶数
		int odd = 0;
		for (int i = 0; i < nums.size(); i++) {
			if (nums[i] & 1) {
				if (i != odd) swap(nums[i], nums[odd]);
				odd++;
			}
		}
		return nums;
	}

标签:21,nums,int,奇数,Offer,偶数,odd,指针
From: https://www.cnblogs.com/yaocy/p/17690014.html

相关文章

  • 《剑指Offer》-34-二叉树中和为某一值的路径
    思路要求是从根节点开始的路径,这会比从任意节点开始的路径简单很多思路是从根节点开始遍历每一条路径,如果和没有达到目标值就继续向下遍历大于就回退,等于就返回到结果集中,可以看到这是一个回溯动作实际过程中,首先不管是等于还是大于,回退pop()操作都要执行,这样才不会影响到后......
  • Java8(jdk1.8u321)下载、安装及配置
    jdk1.8的下载、jdk1.8的安装、配置环境变量。一、jdk1.8下载下载官网地址:https://www.oracle.com/java/technologies/downloads/#java8-windows下载版本:jdk-8u381-windows-x64.exe二、jdk1.8的安装双击jdk1.8安装包进行安装:按照安装步骤,直至完成安装。确认是否完成安装:打......
  • JAVA17/JAVA21继承和抽象类
    day07-JAVAOOP课程目标1.【理解】什么是继承2.【掌握】继承的使用3.【理解】继承中的成员的特点4.【理解】super和this的作用5.【理解】什么是抽象类6.【掌握】抽象的使用继承继承概述​ 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,这个类就是......
  • 剑指Offer面试题7:重建二叉树
    一、题目给定节点数为n的二叉树的前序遍历和中序遍历结果,请重建出该二叉树并返回它的头结点。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建出如下图所示。提示:1.vin.length== pre.length2.pre和vin 均无重复元素3.vin出现的元素均出现在 ......
  • 剑指Offer面试题6:从尾到头打印链表
    一、题目输入一个链表的头节点,按链表从尾到头的顺序返回每个节点的值(用数组返回)如输入{1,2,3}的链表如下图:返回一个数组为[3,2,1]二、题解看到这题很多人第一反应是从头到尾输出会比较简单,于是我们很自然想到把链表中的节点指针反过来,改变链表结构就可以从头到尾输出了。但该方法......
  • Sketchup 2015、2016、2017、2018、2019、2020、2021、2022、2023(草图大师)下载
    SketchUp是一套直接面向设计方案创作过程的设计工具,其创作过程不仅能够充分表达设计师的思想而且完全满足与客户即时交流的需要,它使得设计师可以直接在电脑上进行十分直观的构思,是三维建筑设计方案创作的优秀工具。草图大师也就是SketchUp,是一个建筑景观专业的3D建模软件,由于运行......
  • JDK21来了!附重要更新说明
    JDK21计划23年9月19日正式发布,虽然一直以来都是“版本随便出,换8算我输”,但这么多年这么多版本的折腾,如果说之前的LTS版本JDK17你还觉得不香,那JDK21还是有必要关注一下,因为会有一批重要更新发布到生产环境中,特别是千呼万唤的虚拟线程,虽然说这东西我感觉不需要的用不到,需要的......
  • 剑指Offer面试题5:替换空格
    一、题目请实现一个函数,把字符串中的每个空格替换成“%20”。例如:输入“Wearehappy.",则输出”We%20are%20happy."。二、解析2.1解法一申请一个临时数组,然后再遍历这个字符串的每个字符,如果不是空格就把遍历的字符添加到临时数组中,如果是空格就添加3个符'%','2','0'分别到临时数组......
  • 2023-2024-1 20211306 密码系统设计与实现课程学习笔记2
    20211306密码系统设计与实现课程学习笔记2学习任务详情自学教材第九章,提交学习笔记本章是复习C语言中的文件操作内容,结构化从文本文件操作,二进制文件操作两个大内容考虑,以前可能只关注文本文件的操作,我们以后更多的是操作二进制文件。文本文件中考虑字符读写,行读写,任意位......
  • 20211316郭佳昊 《信息安全系统设计与实现(上)》 第二周学习笔记
    一、任务要求[1]知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题核心是要求GPT:请你以苏格拉底的方式对我进行提问然后GPT就会......