首页 > 其他分享 >力扣88.合并两个有序数组

力扣88.合并两个有序数组

时间:2024-03-03 11:33:51浏览次数:18  
标签:int 合并 力扣 ++ 88 数组 nums1 nums2

题目:

给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和 nums2中的元素数目。
请你合并nums2到nums 中,使合并后的数组同样按非递减顺序排列。
注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为m + n其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。


实现方法:

方法一:

直接将num2数组里的元素加入num1,调用sort.Ints函数进行排序

import "sort"
func merge(nums1 []int, m int, nums2 []int, n int) {
	j := 0
	for i := m; i < m+n; i++ {
		nums1[i] = nums2[j]
		j++

	}
	sort.Ints(nums1)

方法二:

用循环比较大小实现插入

func merge(nums1 []int, m int, nums2 []int, n int) {
	i := 0
	j := 0
	for j != n {
		if i == m {
			for a := i; a < len(nums1); a++ {
				nums1[a] = nums2[j]
				j++
			}
			return
		}
		if nums1[i] <= nums2[j] {
			i++
		} else {
			for a := m; a > i; a-- {
				nums1[a] = nums1[a-1]
			}
			nums1[i] = nums2[j]
			m++
			j++
			i++
		}
	}
}

标签:int,合并,力扣,++,88,数组,nums1,nums2
From: https://www.cnblogs.com/tjhzdsa/p/18049739

相关文章

  • 力扣80.删除排序数组中的重复项 II
    题目:给你一个有序数组nums,请你删除重复出现的元素,使得出现次数超过两次的元素只出现两次,返回删除后数组的新长度。实现方法:使用map计数,用快慢指针方法,快指针不断加一,慢指针在计数小于出现次数时加一,再将快指针指向的数赋给慢指针指向的数。funcremoveDuplicates(nums......
  • 力扣118.杨辉三角
    题目:给定一个非负整数numRows,生成「杨辉三角」的前numRows行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。实现方法:从第三行开始,通过循环,依次求取上一行相邻两数的和,添加到结果里。funcgenerate(numRowsint)[][]int{ varr[][]int fori:=0;i<nu......
  • 关联数组 (Associative Array)
    下方数据结构可以被描述为一个JavaScript对象(Object),其中每个键是一个UUID(UniversallyUniqueIdentifier),值是一个待办事项对象。在编程和数据结构领域,这种组织形式没有一个特定的官方名称,但它通常被称为“字典”、“映射”、“关联数组”或“哈希表”。字典(Dictionary):在Pyth......
  • 数组(基于代码随想录)的随笔
    数组数组基础知识数组是存放在连续内存空间上的相同类型数据的集合。数组的元素是不能删的,只能覆盖。那么二维数组在内存的空间地址是连续的么?Java的二维数组在内存中不是3*4的连续地址空间,而是四条连续的地址空间组成!数组的经典题目二分法二分法时间复杂度:O(logn)......
  • 蓝图数组的操作
    基础使用数组元素获取查找项目元素添加,移除遍历数组......
  • 二维数组和坐标系的对应关系
    题目链接城堡问题这题需要你在二维数组上建立坐标系,并找出上下作用分别对应\((x,y)\)的变化关系。对应关系----------->y|||\/xCode#include<iostream>#include<cstring>#include<algorithm>#include<queue>usingnamespacestd;constintN=60;typed......
  • AP8851H DC-DC降压恒压IC+协议芯片 USB PD快充方案电源驱动
    产品描述    AP8851H一款宽电压范围降压型DC-DC电源管理芯片,内部集成使能开关控制、基准电源、误差放大器、过热保护、限流保护、短路保护等功能,非常适合在宽输入电压范围具有优良的负载和线性调整度。AP8851H芯片包含每周期的峰值限流、软启动、过压保护和温度保护,带......
  • Intel 288个小核心下代至强首次公开!性能飙升2.7倍
    MWC2024大展上,Intel首次公开了代号SierraForest的下一代至强,并披露了一些性能指标。SierraForest将首次采用全E核(小核心)设计,单芯片最多144个,双芯片整合封装最多288个(288线程),制造工艺则升级为Intel3——也就是现在酷睿Ultra使用的Intel4的升级版。按照Intel官方给出的数......
  • (33/60)K次取反后最大化的数组和、加油站、分发糖果
    K次取反后最大化的数组和leetcode:1005.K次取反后最大化的数组和贪心法思路两次贪心:(每次取反k--)排序,一次遍历,按绝对值从大到小地把负数取反。如果K次取反没用完,再排序一次,反复取反最小元素。(或者一开始就按绝对值从大到小排序,只需排序一次)复杂度分析时间复杂度:O(Nlo......
  • C++ 指针 vs 数组
    指针和数组并不是完全互换的1#include<iostream>23usingnamespacestd;4constintMAX=3;56intmain()7{8intvar[MAX]={10,100,200};910for(inti=0;i<MAX;i++)11{12*var=i;//这是正确的语法13......