写在开头:这是自己的第001道算法题,来源于牛客网(地址:题目地址),分享自己的解题思路。来借此鼓励自己学习算法并坚持下去!

首先来看一下题目描述:

需要用到的知识点: 数组 + 双指针

下列代码已经在网上提交成功,所以举的例子比较简单

public class Main {//主函数public static void main(String[] args) {int[] A = new int[]{4,5,6};int[] B = new int[]{1,2,3};Solution.merge(A,3,B,3);}
}
class Solution {public  static void merge(int A[], int m, int B[], int n) {int[] C = new int[m + n];//定义一个辅助数组int i = 0;//这是指向数组A的指针int j = 0;//这是指向数组B的指针int p = 0;//这里的判断条件表示为:只要有一个数组(A or B)遍历完,就结束while (i < m && j < n) C[p++] = A[i] < B[j] ? A[i++] : B[j++];//这一步就开始了双链表//当A数组还有剩余元素的时候while (i < m) C[p++] = A[i++];//当B数组还有剩余元素的时候while (j < n) C[p++] = B[j++];A = C;//让A的引用指向C,这样就可以让数组A的值就是C的所有值了System.out.println(Arrays.toString(A));}
}

输出结果:

自己的思路: 这里的i、j 就是各自数组的指针,也就对应了上面的知识考察点:双指针。这里的i++、j++表示着指针的移动,拿第一次比较为例,当发现B数组的指针所指向的值(“1”)比A数组的指针所指向的值(“4”)小,B数组的指针就会因为j++来实现指针的下移,这是关键,自己第一次独立尝试做的时候,就想不到如何实现指针的下移。剩下的步骤跟第一步一样,慢慢分析就出来结果了。

爱在结尾:数组中的指针,可以利用变量 i 等来代替数组的下标,进而来实现指针的效果。

算法001:合并两个有序的数组相关推荐

  1. 简单记录牛客top101算法题(初级题C语言实现)判断回文字符串 反转字符串 合并两个有序的数组

    1. 判断是否为回文字符串   给定一个长度为 n 的字符串,请编写一个函数判断该字符串是否回文.如果是回文请返回true,否则返回false.   字符串回文指该字符串正序与其逆序逐字符一致. // ...

  2. [C++] 牛客网:合并两个有序的数组

    主要是体验一下牛客网里的核心代码模式到底是怎么弄的..还有C++这个东西平常用的太少了,试一试. 以外的还体验到了sort()函数的使用. 来源:牛客网 题目链接:合并两个有序的数组 知识点:数组.双 ...

  3. 牛客题霸 [合并两个有序的数组] C++题解/答案

    牛客题霸 [合并两个有序的数组] C++题解/答案 题目描述 给出两个有序的整数数组 和 ,请将数组 合并到数组 中,变成一个有序的数组 注意: 可以假设 数组有足够的空间存放 数组的元素, 和 中初 ...

  4. 【每日一算法】合并两个有序数组

    每日一算法-搜索插入位置 题目 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 ...

  5. 两个数组合并排序python_python算法题---合并两个有序数组

    leetcode-python-合并两个有序数组 今天第一次电话面试,有点紧张,所以自己感觉表现的不是很好,面试过程中面试官问到了两个算法题,都是leecode上面的题目,而且我都做过,但是当时一下子 ...

  6. 【算法】合并两个有序数组【LeetCode】

    文章目录 一.题目 二.说明 三.示例 四.代码实现 1. 思路一: 一.题目 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有 ...

  7. 【每日一算法】 合并两个有序链表

    微信改版,加星标不迷路! 每日一算法-合并两个有序链表 作者:阿广 阅读目录 1 题目 2 解析 1 题目 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. ...

  8. 算法:合并两个有序链表

    题目 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1- ...

  9. leetcode算法题--合并两个有序数组

    原题链接:https://leetcode-cn.com/problems/merge-sorted-array/ 尾部双指针 void merge(vector<int>& nu ...

最新文章

  1. zerodivisionerror什么意思python-Python中%的结果是什么?
  2. VS2010 定位文件在solution中的位置
  3. 程序员面试题精选100题(33)-在O(1)时间删除链表结点[数据结构]
  4. MonoRail学习-介绍篇(一)
  5. python中文字体怎么设置_python matplotlib 中文字体设置
  6. ISO9660文件系统分析
  7. 二维码和一维码生成器
  8. IDEA使用Git大全
  9. 10分钟教你用python做个打飞机(超详细超入门教程)附源代码下载
  10. 数据库MySQL入门-下
  11. 酷比魔方iwork1x全套驱动
  12. 朋友——friends
  13. MAML 源代码解释说明 (一)
  14. 人人都是产品经理 - 苏杰 读书笔记
  15. 杰理之汤姆猫录音变声功能参考【篇】
  16. CAD机械图纸转PNG图片怎么设置输出的色彩和背景颜色—迅捷CAD转换器
  17. router路由传参 - props
  18. 红孩子副总裁张惠珉:依靠核心竞争力去并购
  19. 浏览器在sandbox中没声音
  20. 认真对待每一道算法题 之 找明星问题 - 淘宇瀚

热门文章

  1. 《标准日本语》初级单词汇总
  2. 抖音seo源码账号矩阵程序开发搭建?抖音seo搜索技术研发搭建部署
  3. Python print函数设置字体效果和背景色
  4. matlab实例——动态心形函数及其涉及的知识点
  5. C++ strcpy_s和strncpy_s使用方法
  6. lodop java使用安_快速掌握LODOP打印使用方法
  7. 成都瑯珀酒店启动全面营业,坐落于西部国际金融中心
  8. AOJ-problem-849
  9. vivo新系统originos和鸿蒙,再见Funtouch OS vivo全新系统OriginOS
  10. Linux 最小化安装后IP的配置(手动获取静态IP地址)