当前位置:网站首页>Remember a company interview question: merge ordered arrays
Remember a company interview question: merge ordered arrays
2022-07-06 11:00:00 【Sanli akaman】
source
2021/09/24: Received an interview from a company , Tear one by hand to the problem of merging ordered arrays , At that time, it was almost done , The time given by the interviewer is relatively short , There is a problem with the critical value processing , It's a pity that I didn't write it out completely , But at least I have the right idea , Refer to the information on the Internet , Now we have sorted out a better solution , I just wrote some test cases , If there is an error , Please correct me !
No more specific topics , Just look at the title
Code up
package com.vleus.algorithm.strings;
import java.util.Arrays;
/** * @author vleus * @date 2021 year 09 month 24 Japan 19:50 */
public class Solution {
// Two ordered arrays , Merge into an ordered array , The required time complexity is O(n)
public static int[] getNewArr(int[] arr1, int[] arr2) {
if (arr1.length == 0) {
return arr2;
}
if (arr2.length == 0) {
return arr1;
}
int i = 0;
int j = 0;
int[] newArr = new int[arr1.length + arr2.length];
for (int k = 0; k < newArr.length; k++) {
if (arr1[i] < arr2[j] && i <= arr1.length - 1) {
newArr[k] = arr1[i];
i++;
continue;
}
if (arr1[i] >= arr2[j] && j <= arr2.length - 1) {
newArr[k] = arr2[j];
j++;
continue;
}
}
return newArr;
}
public static int[] getNewArr2(int[] arr1, int[] arr2) {
int i = arr1.length + arr2.length - 1;
int i1 = arr1.length - 1;
int i2 = arr2.length - 1;
int[] newArr = new int[arr1.length+arr2.length];
while (i1 >= 0 && i2 >= 0) {
if (arr1[i1] >= arr2[i2]) {
newArr[i] = arr1[i1];
i1--;
i--;
}else{
newArr[i] = arr2[i2];
i2--;
i--;
}
}
if(i1 >= 0){
System.arraycopy(arr1,0,newArr,i1,i1+1);
}
if (i2 >= 0) {
System.arraycopy(arr2,0,newArr,i2,i2+1);
}
return newArr;
}
public static void main(String[] args) {
int[] arr1 = new int[]{
1, 3, 5, 7, 7, 8,12};
int[] arr2 = new int[]{
2, 4, 6, 8, 8};
int[] newArr2 = getNewArr2(arr1, arr2);
System.out.println(Arrays.toString(newArr2));
}
}
边栏推荐
- CSDN问答标签技能树(一) —— 基本框架的构建
- CSDN问答模块标题推荐任务(二) —— 效果优化
- CSDN问答标签技能树(二) —— 效果优化
- Discriminant model: a discriminant model creation framework log linear model
- Case identification based on pytoch pulmonary infection (using RESNET network structure)
- February 13, 2022 - Maximum subarray and
- Mysql22 logical architecture
- @controller,@service,@repository,@component区别
- Windchill configure remote Oracle database connection
- MySQL的一些随笔记录
猜你喜欢
【博主推荐】C# Winform定时发送邮箱(附源码)
MySQL master-slave replication, read-write separation
MySQL23-存儲引擎
解决:log4j:WARN Please initialize the log4j system properly.
【博主推荐】C#生成好看的二维码(附源码)
Win10: how to modify the priority of dual network cards?
Install mysql5.5 and mysql8.0 under windows at the same time
MySQL27-索引優化與查詢優化
Detailed reading of stereo r-cnn paper -- Experiment: detailed explanation and result analysis
A trip to Macao - > see the world from a non line city to Macao
随机推荐
Valentine's Day is coming, are you still worried about eating dog food? Teach you to make a confession wall hand in hand. Express your love to the person you want
CSDN问答标签技能树(一) —— 基本框架的构建
MySQL22-逻辑架构
[C language foundation] 04 judgment and circulation
API learning of OpenGL (2004) gl_ TEXTURE_ MIN_ FILTER GL_ TEXTURE_ MAG_ FILTER
Global and Chinese markets for aprotic solvents 2022-2028: Research Report on technology, participants, trends, market size and share
SSM整合笔记通俗易懂版
Invalid default value for 'create appears when importing SQL_ Time 'error reporting solution
MySQL19-Linux下MySQL的安装与使用
1. Mx6u learning notes (VII): bare metal development (4) -- master frequency and clock configuration
How to change php INI file supports PDO abstraction layer
Ansible实战系列一 _ 入门
Global and Chinese market of transfer switches 2022-2028: Research Report on technology, participants, trends, market size and share
Mysql34 other database logs
FRP intranet penetration
The virtual machine Ping is connected to the host, and the host Ping is not connected to the virtual machine
Yum prompt another app is currently holding the yum lock; waiting for it to exit...
A brief introduction to the microservice technology stack, the introduction and use of Eureka and ribbon
[ahoi2009]chess Chinese chess - combination number optimization shape pressure DP
Mysql23 storage engine