牛客 NC252 多数组中位数【中等 模拟 Java,Go】

题目

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

思路

	模拟,2数组合并一个数组helphelp长度为奇数,直接取中间值,为偶数,中间2个值,哪个小返回哪个

参考答案Java

import java.util.*;public class Solution {/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param arr1 int整型一维数组* @param arr2 int整型一维数组* @return int整型*/public int getUpMedian (int[] arr1, int[] arr2) {int n = arr1.length;int m = arr2.length;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 (arr1[x] > arr2[y]) {help[z--] = arr1[x--];} else {help[z--] = arr2[y--];}}while (x >= 0) {help[z--] = arr1[x--];}while (y >= 0) {help[z--] = arr2[y--];}if(len%2 ==1) {return help[(len-1)/2];}else{int i1 = (len-1)/2;int i2 = i1+1;if(help[i1] > help[i2]){return help[i2];}else{return help[i1];}}}
}

参考答案Go

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

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

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

相关文章

Post表单提交后端接不到参数

项目背景: 框架:Springboot 版本:1.5.6.REAEASE 问题描述 Postman通过表单提交请求时后端接不到值 原因分析: 启动项中注入其他Bean时取名叫dispatcherServlet,当发现http接口无法访问时,原开发人员又…

开源项目若依放大招了?

前言 鉴于之前写了篇插件式相关的文章,阅读量比起其它文章可不要好太多,所以我决定继续这个主题! 以前我们公司用的就是Ruoyi,代码比较简单易懂。但是有些功能确实用不上,比如部门和岗位,每次新项目我拉了…

Python的基础知识学习路线1—python简介与环境配置(最全路线,每部分附有代码操作结果)

一、Python简介 (1)发展史 Python是由创始人贵铎范罗萨姆(Guido van Rossum)在阿姆斯特丹于1989年圣诞节期间,为了打发圣诞节的无趣,开发的一个新的解释型脚本语言。之所以选中Python(大蟒蛇的…

睿尔曼超轻量仿人机械臂之双臂复合机器人手眼标定软件在Arm架构系统上的使用实操

双臂复合升降机器人的手眼标定是属于眼在手外的标定模式,相机在机器人的头部,标定前应固定相机的位置,再打开我们的标定软件程序如下,给足文件权限后,打开主程序,运行后会出现如下界面。 首次连接&#xff…

linux的io的知识大全

C语言的io操作 写文件 #include<stdio.h> #include<string.h>#define FILE_NAME "log.txt" int main() {FILE * fp fopen(FILE_NAME, "w");if(fpNULL){printf("fopen error!\n");}const char* msg "hello zk\n";int c…

GNU Radio Radar Toolbox编译及安装

文章目录 前言一、GNU Radio Radar Toolbox 介绍二、gr-radar 安装三、具体使用四、OFDM 雷达仿真 前言 GNU Radio Radar Toolbox&#xff08;gr-radar&#xff09;是一个开放源码的工具箱&#xff0c;用于 GNU Radio 生态系统&#xff0c;主要目的是为雷达信号处理提供必要的…

Redis中的集群(六)

集群 ASK错误 在进行重新分片期间&#xff0c;源节点向目标节点迁移一个槽的过程中&#xff0c;可能会出现这样一种情况:属于被迁移槽的一部分键值对保存在源节点里面&#xff0c;而另一部分键值对则保存在目标节点里面。当客户端向源节点发送一个与数据库有关的命令&#xf…

[目标检测] OCR: 文字检测、文字识别、text spotter

概述 OCR技术存在两个步骤&#xff1a;文字检测和文字识别&#xff0c;而end-to-end完成这两个步骤的方法就是text spotter。 文字检测数据集摘要 daaset语言体量特色MTWI中英文20k源于网络图像&#xff0c;主要由合成图像&#xff0c;产品描述&#xff0c;网络广告(淘宝)MS…

java题目17:以m行n列二维数组为参数进行方法调用,分别计算二维数组各列元素之和,返回并输出计算结果(MethodCalls17)

每日小语 伟大企业的一项特质是“利润之上的追求”。——段永平 思考 方法调用 方法调用是通过在代码中使用方法名和参数列表来实现的。 public class MethodExample {public static void main(String[] args) {// 调用方法add&#xff0c;并传入两个参数int sum add(3, 5…

springCloudAlibaba集成sentinel实战(超详细)

一、Sentinel介绍 1. 什么是Sentinel Sentinel是阿里开源的项目&#xff0c;提供了流量控制、熔断降级、系统负载保护等多个维度来保障服务之间的稳定性。 分布式系统的流量防卫兵&#xff1a; 随着微服务的普及&#xff0c;服务调用的稳定性变得越来越重要。Sentinel以“流…

Leetcode:283.移动零

题目要求 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0] 示例 2: 输入: nums [0…

python linux服务器ssh简单爆破(测试用户名密码)(连接ssh服务器)(测试登录ssh服务器)

文章目录 背景示例代码代码解释导入模块SSH服务器的地址和端口用户名和密码列表生成所有可能的用户名和密码组合尝试连接到SSH服务器并验证用户名和密码遍历并测试每一对凭证 背景 我们华为摄像头linux终端的密码忘了&#xff0c;还不太好初始化&#xff0c;手动一个个测试太麻…