zoukankan      html  css  js  c++  java
  • [网易秋招笔试]第2题字典序题目(数组,思维)

    题目


    题解

    题意:根据m长子序列求长度为n的字典序最小的原序列,原序列元素为1ton;
    题解:使用n个数中除子序列外剩余数组成otherNum数组。
    两个指针指向两个数组首元素,比较子序列当前元素与otherNum数组当前元素,小的插入新数组,指针右移。

    代码

    import java.util.Scanner;
    import java.util.*;
    
    public class Main {
        public static void main(String[] args) {
            Scanner in = new Scanner(System.in);
            int n = in.nextInt();
            int m = in.nextInt();
            
            int[] subNums=new int[m];
            int[] nums=new int[n];
            int[] otherNums=new int[n-m];
            Set<Integer> set=new HashSet<>();
            for(int i=0;i<m;++i){
                int num=in.nextInt();
                subNums[i]=num;
                set.add(num);
            }
            
            int otherIdx=0;
            for(int i=1;i<=n;++i){
                if(!set.contains(i)){
                    otherNums[otherIdx++]=i;
                }
            }
            
            
            //处理
            int idx=0;
            otherIdx=0;
            int subIdx=0;
            while(idx<n&&subIdx<m&&otherIdx<n-m){
                if(subNums[subIdx]<otherNums[otherIdx]){
                    nums[idx++]=subNums[subIdx++];
                }else{
                    nums[idx++]=otherNums[otherIdx++];
                }
            }    
            while(subIdx<m){
                nums[idx++]=subNums[subIdx++];
            }
            while(otherIdx<n-m){
                nums[idx++]=otherNums[otherIdx++];
            }
            
            //打印
            for(int i=0;i<n-1;++i){
                System.out.print(nums[i]+" ");
            }
            System.out.print(nums[n-1]);
        }
    }
    
  • 相关阅读:
    HTML中select标签单选多选详解
    meta name="viewport" content="width=device-width,initial-scale=1.0" 解释
    鼠标点击变色 lvha
    html 标签释义
    百度首页top设置
    html css 笔记
    iOS 遍历控件
    iOS 状态栏更改为白色
    iOS UIModalPresentationFormSheet风格下的键盘隐藏
    iOS Xcode之SVN(remove git)
  • 原文地址:https://www.cnblogs.com/coding-gaga/p/13458508.html
Copyright © 2011-2022 走看看