文档章节

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

M
 Misto
发布于 2015/10/09 22:20
字数 350
阅读 13
收藏 0
点赞 0
评论 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
南昌
一个关于数组的面试算法题

问题一、一个升序数组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 ⋅ 12

PHP学习之路之记录

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

拜拜佛 ⋅ 2016/09/24 ⋅ 2

JavaScript高阶函数(filter/sort)

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

SpiffyEight77 ⋅ 2017/07/26 ⋅ 0

Java编程思想: 持有对象

泛型和类型安全的容器 使用Java SE5之前存在的一个问题是: 编译器允许你向容器中插入不正确的类型. 考虑下例: 1. 由于ArrayList保存的是Object类型, 所以可以存储Apple, Orange类型. 2. 在具...

fzyz_sb ⋅ 2016/07/23 ⋅ 0

JavaScript强化教程——sort() 方法

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

zhanyingwang ⋅ 2016/08/30 ⋅ 0

linux sort,uniq,cut,wc命令详解

sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出。如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序。 sort语法 [root@www ...

刀心 ⋅ 2015/06/10 ⋅ 0

Python第二课

一、分类 数值型 int: 长整形,无上限,受限于内存大小float: 整数加小数,支持十进制和科学计数,只有双精度型(不能“全部完全”准确的表示一个小数,3.333333.....,π,近似表达)com...

菜鸡满地跑 ⋅ 2017/09/24 ⋅ 0

第一部分 基础

第一章 开篇 问题描述 输入:n个不重复的整数(n=1e7). 输出:按升序排序. 约束:最多1M的内存可以使用,时间要求再10s左右. 嗯,大概是要求对磁盘的文件进行排序,然后对使用的内存有要求.我的想法...

Zorn_Q ⋅ 2017/12/14 ⋅ 0

PHP之新手自学基础知识(三)——数组篇

数组是什么? 数组是一个能在单个变量中存储多个值的特殊变量。 如果一个项目清单(例如:手机名字的清单),将其存储到单个变量中如下所示: 然而,如果您想要遍历变量并找出特定的一个呢?...

天谴残魂 ⋅ 01/04 ⋅ 0

排序算法

排序算法 冒泡排序 选择排序 插入排序 快速排序(最常见) 希尔排序 归并排序 源码:Sorting 冒泡排序 冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两...

廖少少 ⋅ 2017/06/08 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

RabbitMQ学习以及与Spring的集成(三)

本文介绍RabbitMQ与Spring的简单集成以及消息的发送和接收。 在RabbitMQ的Spring配置文件中,首先需要增加命名空间。 xmlns:rabbit="http://www.springframework.org/schema/rabbit" 其次是模...

onedotdot ⋅ 17分钟前 ⋅ 0

JAVA实现仿微信红包分配规则

最近过年发红包拜年成为一种新的潮流,作为程序猿对算法的好奇远远要大于对红包的好奇,这里介绍一种自己想到的一种随机红包分配策略,还请大家多多指教。 算法介绍 一、红包金额限制 对于微...

楠木楠 ⋅ 29分钟前 ⋅ 0

Python 数电表格格式化 xlutils xlwt xlrd的使用

需要安装 xlutils xlwt xlrd 格式化前 格式化后 代码 先copy读取的表格,然后按照一定的规则修改,将昵称中的学号提取出来替换昵称即可 from xlrd import open_workbookfrom xlutils.copy ...

阿豪boy ⋅ 59分钟前 ⋅ 0

面试题:使用rand5()生成rand7()

前言 读研究生这3 年,思维与本科相比变化挺大的,这几年除了看论文、设计方案,更重要的是学会注重先思考、再实现,感觉更加成熟吧,不再像个小P孩,人年轻时总会心高气傲。有1 道面试题:给...

初雪之音 ⋅ 59分钟前 ⋅ 0

Docker Toolbox Looks like something went wrong

Docker Toolbox 重新安装后提示错误:Looks like something went wrong in step ´Checking if machine default exists´ 控制面板-->程序与应用-->启用或关闭windows功能:找到Hyper-V,如果处......

随你疯 ⋅ 今天 ⋅ 0

Guacamole 远程桌面

本文将Apache的guacamole服务的部署和应用,http://guacamole.apache.org/doc/gug/ 该链接下有全部相关知识的英文文档,如果水平ok,可以去这里仔细查看。 一、简介 Apache Guacamole 是无客...

千里明月 ⋅ 今天 ⋅ 0

nagios 安装

Nagios简介:监控网络并排除网络故障的工具:nagios,Ntop,OpenVAS,OCS,OSSIM等开源监控工具。 可以实现对网络上的服务器进行全面的监控,包括服务(apache、mysql、ntp、ftp、disk、qmail和h...

寰宇01 ⋅ 今天 ⋅ 0

AngularDart注意事项

默认情况下创建Dart项目应出现以下列表: 有时会因为不知明的原因导致列表项缺失: 此时可以通过以下步骤解决: 1.创建项目涉及到的包:stagehand 2.执行pub global activate stagehand或pub...

scooplol ⋅ 今天 ⋅ 0

Java Web如何操作Cookie的添加修改和删除

创建Cookie对象 Cookie cookie = new Cookie("id", "1"); 修改Cookie值 cookie.setValue("2"); 设置Cookie有效期和删除Cookie cookie.setMaxAge(24*60*60); // Cookie有效时间 co......

二营长意大利炮 ⋅ 今天 ⋅ 0

【每天一个JQuery特效】淡入淡出显示或隐藏窗口

我是JQuery新手爱好者,有时间就练练代码,防止手生,争取每天一个JQuery练习,在这个博客记录下学习的笔记。 本特效主要采用fadeIn()和fadeOut()方法显示淡入淡出的显示效果显示或隐藏元...

Rhymo-Wu ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部