码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【第23天】给定一个长度为 n 的数组,将元素 X 插入数组指定的位置 | 数组插入操作4


    本文已收录于专栏
    🌸《Java入门一百例》🌸

    学习指引

    • 序、专栏前言
    • 序、本章前言
    • 一、【例题1】
      • 1、题目描述
      • 2、解题思路
      • 3、模板代码
      • 4、代码解析
    • 三、推荐专栏
    • 四、课后习题

    序、专栏前言

       本专栏开启,目的在于帮助大家更好的掌握学习Java,特别是一些Java学习者难以在网上找到系统地算法学习资料帮助自身入门算法,同时对于专栏内的内容有任何疑问都可在文章末尾添加我的微信给你进行一对一的讲解。
       但最最主要的还是需要独立思考,对于本专栏的所有内容,能够进行完全掌握,自己完完全全将代码写过一遍,对于算法入门肯定是没有问题的。
       算法的学习肯定不能缺少总结,这里我推荐大家可以到高校算法社区将学过的知识进行打卡,以此来进行巩固以及复习。
      学好算法的唯一途径那一定是题海战略,大量练习的堆积才能练就一身本领。专栏的任何题目我将会从【题目描述】【解题思路】【模板代码】【代码解析】等四板块进行讲解。

    序、本章前言

      除了数组的删除操作,还应该掌握数组的插入操作,数组的插入操作也与删除类似。

    一、【例题1】

    1、题目描述

      给定一个整数长度为 n ( 1 ≤ n ≤ 1 e 5 ) n(1\le n \le1e5) n(1≤n≤1e5),数组下标从 [ 1 , n ] [1,n] [1,n],请你实现一个函数,返回将 x x x插入第 y y y位后的数组,如果 y y y超出数组长度则接在末尾(数组保证足够长)。

    2、解题思路

    • ( 1 ) (1) (1)类比删除操作来考虑,我们需要可以将下标 [ y , n ] [y,n] [y,n]的元素都向后移动一格,然后再将 x x x赋值给第 y y y位即可。

    3、模板代码

    static void test(int[] arr,int v,int y,int n){
            for (int i = n+1; i >=y+1; i--) {
                arr[i]=arr[i-1];
            }
            arr[y]=v;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    static void test(int[] arr,int v,int y,int n){
            if (n + 2 - (y + 1) >= 0) System.arraycopy(arr, y + 1 - 1, arr, y + 1, n + 2 - (y + 1));
            arr[y]=v;
        }
    
    • 1
    • 2
    • 3
    • 4

    4、代码解析

    • ( 1 ) (1) (1)同删除原理可以使用System.arratcopy函数
      在这里插入图片描述

    三、推荐专栏

    🌌《零基础学算法100天》🌌

    四、课后习题

    序号题目链接难度评级
    1 按既定顺序创建目标数组2
    👇 学习有疑问?👇
  • 相关阅读:
    SkiaSharp 之 WPF 自绘 投篮小游戏(案例版)
    Netty学习之路 | 入门长文
    crontab定时时钟同步,输出重定向 1 * * * * /usr/sbin/ntpdate x.x.x.x > /dev/null 2>&1 &
    企鹅一面:为什么不建议使用SELECT * ?
    Mac修改Mysql8.0密码
    Github每日精选(第36期):find简单、快速和用户友好的替代工具fd
    221114-华中科技大学学位论文利用Pandoc实现LaTex转Word
    Http客户端OkHttp的基本使用
    Spring-Cloud-Gateway集成Sentinel限流
    【Python】条件语句
  • 原文地址:https://blog.csdn.net/m0_57487901/article/details/125409171
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号