zoukankan      html  css  js  c++  java
  • 网易2017算法题-消除重复元素

    题目来源自牛客网的网易算法题,如有侵权行为请告知删除。

    题目是这样的:
      小易有一个长度为n序列,小易想移除掉里面的重复元素,但是小易想是对于每种元素保留最后出现的那个。小易遇到了困难,希望你来帮助他。

    输入描述:
      输入包括两行:
      第一行为序列长度n(1 ≤ n ≤ 50)
      第二行为n个数sequence[i](1 ≤ sequence[i] ≤ 1000),以空格分隔
    输出描述:
      输出消除重复元素之后的序列,以空格分隔,行末无空格
    输入例子:
      9
      100 100 100 99 99 99 100 100 100
    输出例子:
      99 100

      移除重复元素对于JavaScript来说,可以将元素设置成某个对象的属性,如该属性存在,则该元素重复可以移除。对于每种元素保留最后出现的要求,则可以将输入的序列存入长度为n的数组,并使用reverse()将数组倒序,使得最后一次出现的元素成为第一次出现的元素。若元素第一次出现则设置为对象的属性,并将其存储进一个新数组data,当循环结束后,将data进行倒序并用join()转化成字符串即可。数组和字符串类型可以相互转换,使得算法变得简单。

    程序如下:

        process.stdin.resume();//回复输入流
        process.stdin.setEncoding('utf8');
        
        var input_stdin = "";//输入的全部数据
        var input_stdin_array = "";//输入的每行数据以数组形式存在
        var input_currentline = 0;//输入的行数
        
        process.stdin.on('data', function (data) {//接收输入的数据
            input_stdin += data;
            if(data.slice(0,-1)==''){
                process.stdin.emit('end');//输入空的回车结束输入
            }
        });
        
        process.stdin.on('end', function () {//end触发
            input_stdin_array = input_stdin.split("
    ");
            main();//对输入进行操作
        });
        
        function readLine() {
            return input_stdin_array[input_currentline++];//读取每一行的数据
        }
        
        function main(){
            var n=readLine();
            var seq=readLine().split(' ').reverse();//将输入的字符串转化为数组并倒置
            var obj={};
            var data=[];
            for(var i=0;i<n;i++){
                if(!obj[seq[i]]){
                    obj[seq[i]]=true;//设置seq[i]为obj的属性
                    data.push(seq[i])
                }
            }
            var str=data.reverse().join(' ');
            console.log(str);
        }
    
  • 相关阅读:
    .NE 学习概要
    (转)工作之路---记录LZ如何在两年半的时间内升为PM
    XP下Winform背景透明问题
    CSE(Corrupted State Exceptions) 严重异常处理办法
    (转)C#模拟键盘鼠标事件
    (转).net项目技术选型总结
    (转)MSMQ续
    (转)MSMQ(消息队列)
    (转)TCP三次握手
    Socket编程初探
  • 原文地址:https://www.cnblogs.com/aicanxxx/p/6907240.html
Copyright © 2011-2022 走看看