牛客NC413 两个升序数组的中位数【hard 数组,模拟 Java、Go、PHP】

题目

在这里插入图片描述
题目链接:
https://www.nowcoder.com/practice/b3b59248e61f499482eaba636305474b

思路

	直接模拟2个数组有顺序放到一个数组中help中如果help长度为奇数,返回中间的数如果help长度为偶数,返回中间2个数的和除以2

参考答案java

import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param nums1 int整型ArrayList* @param nums2 int整型ArrayList* @return double浮点型*/public double Median (ArrayList<Integer> nums1, ArrayList<Integer> nums2) {int n = nums1.size();int m = nums2.size();int len = n + m;int[] help = new int[len];int x = n - 1;int y = m - 1;int z = len - 1;while (x >= 0 && y >= 0) {if (nums1.get(x) > nums2.get(y)) {help[z--] = nums1.get(x--);} else {help[z--] = nums2.get(y--);}}while (x >= 0) {help[z--] = nums1.get(x--);}while (y >= 0) {help[z--] = nums2.get(y--);}if (len % 2 == 1) {int i1 = (len - 1) / 2;return (double) help[i1];} else {int i1 = (len - 1) / 2;int i2 = i1 + 1;return ((double) help[i1] + (double) help[i2]) / 2;}}
}

参考答案Go

package main/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param nums1 int整型一维数组* @param nums2 int整型一维数组* @return double浮点型*/
func Median(nums1 []int, nums2 []int) float64 {n := len(nums1)m := len(nums2)length := n + mhelp := make([]float64, length)x := n - 1y := m - 1z := length - 1for x >= 0 && y >= 0 {if nums1[x] >= nums2[y] {help[z] = float64(nums1[x])z--x--} else {help[z] = float64(nums2[y])z--y--}}for x >= 0 {help[z] = float64(nums1[x])z--x--}for y >= 0 {help[z] = float64(nums2[y])z--y--}if length%2 == 1 {return help[(length-1)/2]} else {i1 := (length - 1) / 2i2 := i1 + 1return (help[i1] + help[i2]) / 2}
}

参考答案PHP

<?php/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param nums1 int整型一维数组* @param nums2 int整型一维数组* @return double浮点型*/
function Median( $nums1 ,  $nums2 )
{$n = count($nums1);$m= count($nums2);$len = $n+$m;$help = array();$x = $n-1;$y = $m-1;$z = $len-1;while ($x >=0 && $y>=0){if($nums1[$x] >$nums2[$y]){$help[$z--] = $nums1[$x--];}else{$help[$z--] = $nums2[$y--];}}while ($x>=0){$help[$z--]= $nums1[$x--];}while ($y>=0){$help[$z--] = $nums2[$y--];}if($len%2 ==1){return $help[intval(($len-1)/2)];}else{$i1 = intval(($len-1)/2);$i2 =$i1+1;return ($help[$i1]+$help[$i2])/2;}
}

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

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

相关文章

【AI 测试】八:数学基础在算法测试工程师工作中的具体应用

算法测试工程师在测试和优化算法时&#xff0c;确实需要具备扎实的数学基础。这是因为算法往往涉及到复杂的计算、逻辑推理和数据分析&#xff0c;而这些都需要依靠数学工具和方法来进行有效的处理。以下是数学基础在算法测试工程师工作中的具体应用&#xff1a; 线性代数&…

会话跟踪技术基础:Cookie和Session

久违了&#xff0c;之前忙碌了一周赶毕设&#xff0c;今天抽空更新~ 一.理论知识 1.会话&#xff1a;用户打开浏览器&#xff0c;访问web服务器的资源&#xff0c;会话建立&#xff0c;直到有一方断开连接&#xff0c;会话结束。在一次会话中可以包含多次请求和响应~ 2.会话跟…

【远程桌面】Microsoft Remote Desktop 4 mac

看起来 mac的apple store 不给下载mac apple store 微软官方可以直接下载 app center 最新版本。 官方文档 这里有更新的介绍和下载地址

Python生成图片和音频验证码

captcha是pyhton的一个模块&#xff0c;用来生成图片和音频验证码。 安装 pip install captcha使用 from captcha.audio import AudioCaptcha from captcha.image import ImageCaptcha# 加载声音和字体 audio AudioCaptcha(voicedir/path/to/voices) image ImageCaptcha(…

StylizedGS: Controllable Stylization for 3D Gaussian Splatting

StylizedGS: Controllable Stylization for 3D Gaussian Splatting StylizedGS&#xff1a;3D高斯溅射的可控样式化 Dingxi Zhang, Zhuoxun Chen, Yu-Jie Yuan, Fang-Lue Zhang, Zhenliang He, Shiguang Shan, and Lin Gao1 张定西&#xff0c;陈卓勋&#xff0c;袁玉洁&#x…

vue3.4 新特性 defineModel() 宏

v-model 简介 官网是这样解释 v-model 的 v-model 的功能是&#xff0c;实现数据的双向绑定【本质上是 :value 和 input 语法糖】 如果是表单元素&#xff0c;下面两种写法是一样&#xff0c;这时v-model就是语法糖&#xff0c;帮你简化了操作 <input v-model"messag…

【MySQL】锁篇

SueWakeup 个人主页&#xff1a;SueWakeup 系列专栏&#xff1a;学习技术栈 个性签名&#xff1a;保留赤子之心也许是种幸运吧 本文封面由 凯楠&#x1f4f8;友情提供 目录 本系列专栏 1. MySQ 中的锁 2. 表锁和行锁 表锁 行锁 3. InnoDB 存储引擎的三种行级锁 4. 悲观锁…

文心一言 VS 讯飞星火 VS chatgpt (234)-- 算法导论17.2 2题

二、用核算法重做练习17.1-3。练习17.1-3的内容是&#xff1a;假定我们对一个数据结构执行一个由 n 个操作组成的操作序列&#xff0c;当 i 严格为 2 的幂时第 i 个操作的代价为 i &#xff0c;否则代价为1。使用聚合分析确定每个操作的摊还代价。 文心一言&#xff1a; 练习…

读《敏捷营销》 策略执行(五)

前言 在看到策略执行时&#xff0c;实际上对我的影响在于就是对以前知识的归纳总结&#xff0c;但也有二个很强的观点吸引了我&#xff0c;一是琳达误谬&#xff0c;蒙特卡洛误谬&#xff1b;二是避免噪声和群体偏见。如果我们在制定方案或策略时&#xff0c;犯了这种错&#x…

前端 小程序框架UniApp

小程序框架UniApp uni-app简介uni-app项目结构uni-app开发工具HBuilderXuni-app页面uni-app页面生命周期uni-app组件生命周期uni-app页面调用接口uni-app页面通讯uni-app pages.json 页面路由uni-app组件viewuni-app组件scroll-viewuni-app组件swiperuni-app组件textuni-app组…

【树莓派初始化】教你从0开始搭建树莓派的使用环境

文章目录 前言1.什么是树莓派&#xff1f;1.1什么用户适合购买树莓派学习编程&#xff1f; 2.如何初始化一个树莓派2.1 烧录系统2.2 测试开机2.3 设置树莓派显示输出的分辨率2.4 网络链接2.5 Putty链接树莓派2.6 VNC链接树莓派2.7 使用filezilla软件传输文件到树莓派 3.使用Xsh…

实现创建线程的五种写法

创建线程的五种写法 1、通过继承Thread类并实现run方法创建一个线程package 创建线程;2、通过实现Runnable接口&#xff0c;并实现run方法的方法创建一个线程3、通过Thread匿名内部类创建一个线程4、通过Runnable匿名内部类创建一个线程5、通过Lambda表达式的方式创建一个线程 …

数字孪生的技术细节

在探索数字孪生的奥秘时&#xff0c;我们不得不深入其背后的技术细节。正如一位艺术家需要了解他的画笔和颜料来创作杰作一样&#xff0c;我们也需要理解构建数字孪生所需的技术工具。以下是对数字孪生技术细节的深入解读&#xff1a; 1. 建模技术&#xff1a;数字孪生的骨架建…

【OpenVINO™】使用 OpenVINO™ C# API 部署 YOLOv9 目标检测和实例分割模型(上篇)

YOLOv9模型是YOLO系列实时目标检测算法中的最新版本&#xff0c;代表着该系列在准确性、速度和效率方面的又一次重大飞跃。它通过引入先进的深度学习技术和创新的架构设计&#xff0c;如通用ELAN&#xff08;GELAN&#xff09;和可编程梯度信息&#xff08;PGI&#xff09;&…

递归神经网络(Recursive Neural Networks)

递归神经网络&#xff08;Recursive Neural Networks&#xff09;是一种特殊的神经网络&#xff0c;它们通过处理具有树形结构的数据来捕获数据的深层次关系&#xff0c;尤其是在自然语言处理和计算机视觉中的一些应用&#xff0c;如语法分析和场景理解。 1. 理解基本概念和背…

利用ChatGPT轻松撰写高质量论文的技巧

ChatGPT无限次数:点击直达 利用ChatGPT轻松撰写高质量论文的技巧 在当今资讯爆炸的时代&#xff0c;写作质量和效率成为了很多人关注的焦点。特别是对于学术论文这种需要严谨和精准的文字表达&#xff0c;很多人都希望能够找到一种更加高效的撰写方法。幸运的是&#xff0c;随…

AWS游戏全球智能翻译,助力企业出海

随着全球数字化时代的到来&#xff0c;游戏行业已经成为跨越国界、语言和文化的强大力量。然而&#xff0c;要将游戏产品成功推向全球市场并确保用户体验的流畅与愉悦&#xff0c;语言障碍却是一道不可忽视的挑战。在这个多元化的世界中&#xff0c;如何解决语言障碍&#xff0…

graylog使用Sidecars方式收集springboot程序的日志

1、部署graylog后台服务 使用docker-compose启动三个服务程序&#xff0c;包括graylog、mongodb、opensearch。 docker-compose.yml内容如下 version: 3 services: # MongoDB: https://hub.docker.com/_/mongo/ mongodb: image: mongo:6.0.14 privileged: true …

PS入门|如何让模糊的图片变得清晰?

前言 前段时间的PS入门讲的都是如何抠图、抠图、抠图。小白都快抠出三室一厅了&#xff0c;不知道学习的小伙伴如何了。 如果在学习过程中没有练习的照片&#xff0c;那直接使用每一篇文章的照片即可&#xff0c;学PS最忌讳的就是光看不练&#xff0c;眼睛会了&#xff0c;手…

Erlang中常用数据结构原理及其实现

文章目录 一、Erlang 简介二、数据结构2.1、元组&#xff08;Tuple&#xff09;2.1.1、示例&#xff1a;2.1.2、实现&#xff1a; 2.2、列表&#xff08;List&#xff09;2.2.1、示例2.2.2、实现2.2.3、原理 3. 字典&#xff08;Dictionary&#xff09;3.1、创建字典3.2、添加和…