文档章节

【OJ日志】删除升序数组的重复数字

M
 Misto
发布于 2015/10/09 22:20
字数 350
阅读 17
收藏 0

题目描述:

给定升序排序的数组,如果数组有2个或2个以上相同的数字,去掉他们,直到剩下2个为止。
例如:
数组A[] = [1,1,1,2,2,3]
你的算法需要返回新数组的长度5,
此时A为[1,1,2,2,3].
格式:第一行输入一个不超过200的数字n,第二行输入A[n],
最后输出新数组的长度。
样例1
输入:
6
1 1 1 1 3 3
                       
输出:
4

开新数组或者按题目的要求是很容易做出来的,但是我想减少运行时间,想到有人开玩笑说交换两个变量值的最简单方式是

scanf("%d %d",&a,&b);
printf("%d %d",b,a);

所以,我尝试着在读取输入的同时得到结果,代码如下

#include<stdio.h>

int main()
{
    int n,sign=0,count=0;
    scanf("%d",&n);
    int a[n];
    scanf("%d",&a[0]);
    for(int i=1;i<n;i++)
    {
        scanf("%d",&a[i]);
        if(a[i] == a[i-1]) 
        {
            sign++;
        }
        else
        {   
            if(sign>1) count += (sign-1);
            sign = 0;
            
        }
    }
    
    printf("%d",n-count);
    
}

没有全过,然后应该是有疏漏的地方,检查了一下,发现当重复数字在数组结尾的时候不会被计入,于是在printf之前加上

    if(sign>1) count += (sign-1);

再判,通过

© 著作权归作者所有

共有 人打赏支持
M
粉丝 0
博文 3
码字总数 1517
作品 0
南昌
私信 提问
找错改错(Java基础的Random问题)

代码目的: 想让1~33个随机数字不重复地赋值到我所定义的doubleball.arrred数组中。 问题: 我想了一个方法,运行结果会出现两种情况, 一种是成功显示33个不重复的随机数字. 第二种就是问题...

摩斯儿绝
07/23
242
7
PHP学习之路之记录

一、基础知识: 1、变量区分大小写 2、只能包含字母、数字和下划线,并且不能以数字开头,不能包含空格 3、变量在第一次赋值的时候被创建 变量作用域: 1、local 局部变量 2、global 全局变量...

拜拜佛
2016/09/24
10
2
一个关于数组的面试算法题

问题一、一个升序数组A[M] ,数字可以重复,比如 1 2 2 3 4 5 6 7 8 8 8 9 ,给定一个区间,[2,8],输出所有符合这个区间的数,即包括重复的2和8. 问题二、二维数组A[M,N],表示M*N个点的坐标,...

维特的烦恼
2014/09/28
1K
12
JavaScript强化教程——sort() 方法

本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:JavaScript强化教程 —— sort() 方法 实例 数组排序:var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.sort();fruits 输出...

zhanyingwang
2016/08/30
11
0
JavaScript高阶函数(filter/sort)

JavaScript JavaScript高阶函数(filter/sort) filter() filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素 filter()方法用于把Array的某些元素过滤掉,然后返回剩下的...

SpiffyEight77
2017/07/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Kafka+Flink 实现准实时异常检测系统

1.背景介绍 异常检测可以定义为“基于行动者(人或机器)的行为是否正常作出决策”,这项技术可以应用于非常多的行业中,比如金融场景中做交易检测、贷款检测;工业场景中做生产线预警;安防...

架构师springboot
36分钟前
4
0
DecimalFormat 类基本使用

/* * DecimalFormat 类主要靠 # 和 0 两种占位符号来指定数字长度 * 0 表示如果位数不足则以 0 填充 * # 表示只要有可能就把数字拉上这个位置 * */ public static void main(String[] args){...

嘴角轻扬30
53分钟前
4
0
This APT has Super Cow Powers.

在Debian/Ubuntu上,apt包管理器内嵌着一个彩蛋. 如果你在命令行界面输入 apt help 在最后一行能找到This APT has Super Cow Powers. 说明该apt具有超级牛力 牛力是个什么梗? 则说明你的系统...

taadis
今天
3
0
起薪2万的爬虫工程师,Python需要学到什么程度才可以就业?

爬虫工程师的的薪资为20K起,当然,因为大数据,薪资也将一路上扬。那么,Python需要学到什么程度呢?今天我们来看看3位前辈的回答。 1、前段时间快要毕业,而我又不想找自己的老本行Java开发...

糖宝lsh
今天
9
0
携手开发者共建云生态 首届腾讯云+社区开发者大会在京举办

本文由云+社区发表 北京时间12月15日,由腾讯云主办,极客邦科技、微信、腾讯TEG协办的首届腾讯云+社区开发者大会在北京朝阳悠唐皇冠假日酒店举办。在会上,腾讯云发布了重磅产品开发者平台以...

腾讯云加社区
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部