zoukankan      html  css  js  c++  java
  • Algs4-1.1.28删除重复元素

    1.1.28(原问题)删除重复元素。修改BinarySearch类中的测试用例来删去排序之后白名单中所有重复元素。
    对问题的调整:标记一维数组中非递减有序整数中重复的数。设有序数>=0。这个问题可以有两种理解:a)每个数只出现一次,例如:1,2,2,3,4,5 去重后得到:1,2,3,4,5
    b)重复的数字全部删除,例如去重后得到:1,3,4,5。

    a)实现思路:数组索引从头移至数组倒数第二个,当前数组索引元素值与下一元素值进行比较,相同时将当前元素值标记成标记值。
    for(int i=0;i<ArrayOfSorted.length-2;i++)
          {
              if (ArrayOfSorted[i]==ArrayOfStored[i+1]) ArraryOfSorted[i]=-1;
          }

    b)在a思路的基础上增加规则:当前元素与下一个元素不同并且当前元素与前一个元素值相同时那么当前元素标记成标记值。当前元素是倒数第二个元素并且与最后一个元素相同,那么将最后一个元素标记成标记值。
    boolean IsRepeart=false;
          for(int i=0;i<ArrayOfSorted.length-2;i++)
          {
              if (ArrayOfSorted[i]==ArrayOfStored[i+1])
              {
                  ArraryOfSorted[i]=-1;
                  IsRepeart=true;
                  if (i==ArrayOfStored.length-2) ArrayOfStored[i+1]=-1;
              }
              else
              {
                  if (IsRepeart) ArrayOfStored[i]=-1;
                  IsRepeart=false;
              }
          }
  • 相关阅读:
    IIS7 503错误 Service Unavailable
    android错误系列之导出数据库出错Failed to pull selection
    android学习笔记(入门篇)
    使用cmd命令删除文件夹下所有文件
    vue 动态插入组件
    js获取当前时间
    获取带参值
    以毫秒为单位的时间长度转化为时分秒时间格式的时间长度
    js如何复制一个对象?
    想在已创建的Vue工程里引入vux组件
  • 原文地址:https://www.cnblogs.com/longjin2018/p/9848669.html
Copyright © 2011-2022 走看看