LeetCode之Merge Sorted Array

1、问题

Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.

Note:
You may assume that nums1 has enough space (size that is greater or equal to m + n) to hold additional elements from nums2. The number of elements initialized in nums1 and nums2 are m and n respectively.

 

2、代码实现

package leetcode.chenyu.test;public class MergeSortedArray {public static void main(String[] args) {int a[] = new int[10];a[0] = -1;a[1] = 0;a[2] = 4;a[3] = 7;int b[] = {2, 5};int len = a.length;for (int x : a) System.out.print(x);merge(a, 10, b, 2);for (int x : a) System.out.print(x);}public static void merge(int[] nums1, int m, int[] nums2, int n) {if (nums1 == null || m == 0 || n == 0) return;int i = 0, j = 0, k = 0;int index = 0;int nums3[] = new int[m];for (int x = m - 1; x>= 0; x--) {if (x - 1 > 0) if (nums1[x] == 0 && nums1[x - 1] != 0) {index = x;break;}}int value = nums1[index];System.out.println("index is:" + index);while (j < n && i < index) {if (nums1[i] <= nums2[j]) {System.out.print("if i is " + i + "k is " + k + "nums1[" + i + "]"  + nums1[i] + "\n");nums3[k] = nums1[i];i++;} else {System.out.print("if j is " + j + "k is " + k + "nums2["+ j + "]"  + nums2[j] + "\n");nums3[k] = nums2[j];j++;}k++;}System.out.println("i + 1 < m" + (i + 1 < m));System.out.println("i is :" + i);System.out.println("nums1[i]" + nums1[i]);System.out.println("nums1[index]" + nums1[index]);System.out.println("nums1[i + 1] != nums1[index]" + (nums1[i + 1] != nums1[index]));if (i + 1 < m && nums1[i] != nums1[index]) {System.out.println("if if");for (int f = i; f < index; f++) {nums3[k] = nums1[f];}}for (int x : nums3) {System.out.print(x);}for (int h = 0; h < nums3.length; h++) {nums1[h] = nums3[h];}
//        nums1 = nums3;}
}

 

3、结果

-1047000000index is:4
if i is 0k is 0nums1[0]-1
if i is 1k is 1nums1[1]0
if j is 0k is 2nums2[0]2
if i is 2k is 3nums1[2]4
if j is 1k is 4nums2[1]5
i + 1 < mtrue
i is :3
nums1[i]7
nums1[index]0
nums1[i + 1] != nums1[index]false
if if
-1024570000-1024570000

 
提到上去会有下标越界异常,好吧,后面再来分析为什么出错,今天先记录到这里

 

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

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

相关文章

.NET6之MiniAPI(二十一):限流

限流&#xff0c;可以网络的基础设施进行配置实现&#xff0c;也可以在网关的地方进行限流&#xff0c;但服务本身的限流也不可或缺&#xff0c;因为当多副本时&#xff0c;一个副本故障&#xff0c;流量对于其他副本来说会提高&#xff0c;如果超过其承受请求量的范围&#xf…

《互联网+流通——F2R助力传统产业创新与转型》一一第1章 “互联网+”的新时代...

第1章 “互联网&#xff0b;”的新时代 回顾过去20多年&#xff0c;互联网在中国不断发展壮大&#xff0c;从根本上重构了中国人的生活方式。伴随“互联网”在2015年正式被写入国家战略&#xff0c;“互联网”将助推国民经济三驾马车的再造新生&#xff0c;以创新驱动中国经济的…

Oracle数据库体系结构

文章目录Oracle系统体系结构由三个部分组成&#xff1a;**实例、物理结构和逻辑结构**实例和物理结构&#xff08;数据库&#xff09;组成了Oracle服务器。一、实例1.1 内存结构1.1.1 系统全局区&#xff08;SGA&#xff09;1.1.1.1 共享池&#xff08;共享储存区&#xff09;1…

Distributed transactions with multiple databases, Spring Boot, Spring Data JPA and Atomikos

2019独角兽企业重金招聘Python工程师标准>>> A couple of weeks ago I was evaluating the possibility to use Spring Boot, Spring Data JPA and Atomikos for distributed transactions involving multiple databases. After looking at the Spring blog articl…

js如何查看元素类型

<script type"text/javascript"> //定义变量temp var temp Object.prototype.toString.apply("abcdef"); alert(temp); //执行结果------>[Object String] //定义变量temp var temp Object.prototype.toString.apply(123456); alert(te…

Android之用adb命令快速获取手机IP方法总结

方法1 adb shell netcfg 方法2 adb shell netstat 找到local address 方法3 手机root 安装busyboxadb shell ifconfig

Avalonia跨平台入门第十四篇之ListBox折叠列表

在前面分享的几篇中咱已经玩耍了Popup、ListBox多选、Grid动态分、RadioButton模板、控件的拖放效果、控件的置顶和置底、控件的锁定、自定义Window样式、动画效果、Expander控件;今天趁着空闲时间接着去摸索基于ListBox的折叠列表的效果,最终实现的效果如下图:先来看看布局吧:…

《HTML5触摸界面设计与开发》——1.4 神秘谷,是什么让触摸界面反应灵敏?...

本节书摘来自异步社区《HTML5触摸界面设计与开发》一书中的第1章&#xff0c;第1.4节,作者&#xff1a; 【美】Stephen Woods 更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.4 神秘谷&#xff0c;是什么让触摸界面反应灵敏&#xff1f; 我有个两岁半的儿子。他从一…

Android之获取移动网络ip

1、获取移动网络ip 2、代码 public String getLocalIpAddress() { try { for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) { NetworkInterface intf = en.nextElement(); for (Enumeration<InetAddres…

GCD

使用GCD 什么是GCD Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法。该方法在Mac OS X 10.6雪豹中首次推出&#xff0c;并随后被引入到了iOS4.0中。GCD是一个替代诸如NSThread, NSOperationQueue, NSInvocationOperation等技术的很高效和强大的技术。 GCD和…

软件测试技术——系统测试

文章目录一、功能测试二、回归测试定义测试时机三、性能测试定义目标性能测试类型压力负载测试1.并发性能测试&#xff08;重点&#xff09;2. 疲劳强度测试3. 大数据量测试压力测试&负载测试四、其他非功能测试1. 安全性测试功能性测试&安全性测试2. 可靠性3. 容错性测…

nagios-3.4.3搭建

nagios转载于:https://blog.51cto.com/yujianglei/1557718

.NET Core程序瘦身器发布,压缩程序尺寸到1/3

.NET Core具有【剪裁未使用的代码】的功能&#xff0c;但是由于它是使用静态分析来实现的&#xff0c;因此它的剪裁效果并不是最优的。它有如下两个缺点&#xff1a;不支持Windows Forms和WPF&#xff0c;而对于程序剪裁功能需求最强烈的其实反而是桌面程序的开发者。无法删除运…

Android之切换账号登录依然能登录成功问题解决办法

1、问题 切换账号登录依然能登录成功 2、原因和解决办法 原因是因为我调用了第三方的sdk,里面有个生成签名文件的函数&#xff0c;写死了一个参数&#xff0c;导致每次生成签名文件内容都是一致&#xff0c;导致到服务端验证通过成功。 分析路线&#xff1a; 1、 先打印日志…

《大型网站服务器容量规划》一1.1 容量规划背景

本节书摘来异步社区《大型网站服务器容量规划》一书中的第1章&#xff0c;第1.1节&#xff0c;作者&#xff1a; 郑钢 责编&#xff1a; 张涛&#xff0c;更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.1 容量规划背景 如今人们已经习惯从互联网上获取信息&#xf…

iptables配置详解

-A参数是将规则写到现有链规则的最后面-I 参数默认是将一条规则添加到现有规则链的最前面&#xff0c;当然也可以指定插入到第几行 行数可以用数字来指定 比如说将一条规则添加到某一条链的第三行 那么原来在第三行的规则就会降到下一行第四行。例如&#xff1a; iptables -I …

软件测试技术——单元测试和集成测试

一、单元测试 为何要进行单元测试&#xff1f; 尽早发现错误 错误发现越早&#xff0c;成本越低。发现问题比较容易修正问题更容易 1.定义 单元测试是对软件基本的组成单元进行独立的测试 2.目标 单元模块是否被正确编码。信息能否正确地流入和流出单元。在单元工作过程中…

文本框输入值文字消失常用的两种方法

1.这种相对来说较简单&#xff0c;举例子&#xff1a; <input name"textfield" type"text" value"点击添入标题" style"color: gray;" onfocus"if (value 点击添入标题){value }" onblur"if (value ){value点击添…

C语言之strstr函数类似Java字符串的contain函数

1、strstr函数介绍 找出haystack字符串在needle字符串中第一次出现的位置&#xff08;不包括needle的串结束符&#xff09;。返回该位置的指针&#xff0c;如找不到&#xff0c;返回空指针。 2、举例 3、运行结果

软件测试技术——软件测试概述

文章目录一、软件测试的定义标准定义Bug和缺陷二、软件测试与软件质量保证三、软件测试七大基本原则四、软件测试分类按测试手段按测试执行方式按测试阶段或层次按测试对象五、软件测试过程模型V模型W模型H模型X模型一、软件测试的定义 正向观点逆向观点验证软件是否能正常工作…