首页 > 试题广场 >

消除重复元素

[编程题]消除重复元素
  • 热度指数:5411 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
小易有一个长度为n序列,小易想移除掉里面的重复元素,但是小易想是对于每种元素保留最后出现的那个。小易遇到了困难,希望你来帮助他。

输入描述:
输入包括两行: 第一行为序列长度n(1 ≤ n ≤ 50) 第二行为n个数sequence[i](1 ≤ sequence[i] ≤ 1000),以空格分隔


输出描述:
输出消除重复元素之后的序列,以空格分隔,行末无空格
示例1

输入

9 100 100 100 99 99 99 100 100 100

输出

99 100
 var n=readline();
var arr=readline().split(" ");
var b=[];
  b.push(arr[arr.length-1]);
  for(var i=arr.length-2;i>=0;i--){
    b.push(arr[i]);
    for(var j=0;j<b.length-1;j++){
      if(b[j]==b[b.length-1]){
        b.pop()
      }
    }
  }
  console.log(b.reverse().join(" "))
发表于 2018-03-27 11:09:12 回复(0)
//引入readline模块
var readline = require('readline');
//创建readline接口实例
var ri = readline.createInterface({
input: process.stdin,
output: process.stdout
});
var is_first_line = true;
//读取每行的数据
ri.on('line',function(line){
if(is_first_line){
var n = parseInt(line);
is_first_line = false;
return
}
var nums = line.match(/(\d+)/g);
nums = nums.reverse();    //将数组进行反转
var result = new Array();    //新建一个数组,用于存放结果
var len = nums.length;
for(var i = 0; i < len; i ++){
if(result.indexOf(nums[i]) == -1){           // 判断数组result中是否有这个数
result.push(nums[i]);               // 没有则,放入数组result中
}
}
console.log(result.reverse().join(" "));
})

编辑于 2017-03-28 22:59:35 回复(0)
var readline = require('readline')
// var process = require()
var ri = readline.createInterface({
  input: process.stdin,
  output: process.stdout
})


var is_firse_line = true
var n = 0
ri.on('line', function (line) {
  if (is_firse_line) {
    n = parseInt(line)
    is_firse_line = false
    return
  }
  var nums = line.match(/(\d+) */g)
  nums = nums.map(function (data) {
    return parseFloat(data)
  })
  var new_nums = []
  for (var i = nums.length - 1; i >= 0; i --) {
    if (-1 === new_nums.indexOf(nums[i])) new_nums.unshift(nums[i])
  }
  console.log(new_nums.join(' '))
})

发表于 2017-03-26 14:21:59 回复(0)

问题信息

难度:
3条回答 12966浏览

热门推荐

通过挑战的用户

消除重复元素