LeetCode 88 合并两个有序数组

该题注意点有:

1、确定是否需要break以及何时break;

break和break one还有return的区别可以参考这篇

break和return-CSDN博客

2、对于m=0的特殊情况需要特殊处理

3、这道题其实是插入排序的方法,当插入中间和尾部其实是不一样的处理,需要分情况

java 复制代码
class Solution {
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        if(m==0) {
            for(int i=0;i<n;i++) {
                nums1[i] = nums2[i];
            }
        }
        for(int i=0;i<n;i++) {
            for(int j=0;j<m;j++) {
                if(nums2[i]<nums1[j]) {
                    for(int z=m;z>j;z--) {
                        nums1[z] = nums1[z-1];
                    }
                    nums1[j] = nums2[i];
                    m++; 
                    break;
                }
                if(j == m-1) {
                   nums1[j+1] = nums2[i];
                   m++;
                   break;   //注释掉break会导致一直处于i=0的第一层外循环,内循环的m一直在变,
                            //最终超出nums1的长度索引
                }                
            }
        }
    }
}
相关推荐
许彰午41 分钟前
13-describe元数据输出
java·低代码·架构·状态模式
用户3721574261352 小时前
Java 设置 Word 文档编辑限制并允许指定区域编辑
java
船厂电气自动化ai大模型2 小时前
AI大模型与数学·第57课 傅里叶全套工具链综合实战:串联级数/连续变换/DFT/FFT,图像、音频、扩散模型完整例题
数据结构·人工智能·深度学习·算法·机器学习
宠友信息2 小时前
社区类源码开发实践中的仿小红书系统技术要点分析
java·spring boot·redis·mysql·uni-app·vue·内容运营
用户3721574261352 小时前
Java 设置 PDF 表单域只读或扁平化
java
人工智能培训3 小时前
人工智能数据安全下的个人信息保护实践方案
大数据·人工智能·算法·生活
元启数宇3 小时前
幕墙AI设计算法逻辑:元启数宇如何智能分格
人工智能·算法
luteres4 小时前
Spring学习笔记
java·后端·spring
宵时待雨4 小时前
优选算法专题16:多源BFS
算法·宽度优先
南城以南溫暖如初1474 小时前
从零搭建24小时自助健身系统:技术选型与核心模块实战
java·spring boot·redis·mysql·vue·mybatis