给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。
试卷: 浩鲸科技2019校招算法类笔试题


  • 题目给定数组有序,于是相等的元素一定紧挨在一起
  • 我们可以O(n)的去重
  • 输入格式反人类
#ifdef debug
#include <time.h>
#endif#include <iostream>
#include <algorithm>
#include <vector>
#include <string.h>
#include <map>
#include <set>
#include <stack>
#include <queue>
#include <math.h>#define MAXN ((int)1e6+7)
#define ll long long int
#define INF (0x7f7f7f7f)
#define fori(lef, rig) for(int i=lef; i<=rig; i++)
#define forj(lef, rig) for(int j=lef; j<=rig; j++)
#define fork(lef, rig) for(int k=lef; k<=rig; k++)
#define QAQ (0)using namespace std;#define show(x...) \do { \cout << "\033[31;1m " << #x << " -> "; \err(x); \} while (0)void err() { cout << "\033[39;0m" << endl; }
template<typename T, typename... A>
void err(T a, A... x) { cout << a << ' '; err(x...); }namespace FastIO{char print_f[105];void read() {}void print() { putchar('\n'); }template <typename T, typename... T2>inline void read(T &x, T2 &... oth) {x = 0;char ch = getchar();ll f = 1;while (!isdigit(ch)) {if (ch == '-') f *= -1; ch = getchar();}while (isdigit(ch)) {x = x * 10 + ch - 48;ch = getchar();}x *= f;read(oth...);}template <typename T, typename... T2>inline void print(T x, T2... oth) {ll p3=-1;if(x<0) putchar('-'), x=-x;do{print_f[++p3] = x%10 + 48;} while(x/=10);while(p3>=0) putchar(print_f[p3--]);putchar(' ');print(oth...);}
} // namespace FastIO
using FastIO::print;
using FastIO::read;int n, m, Q, K, a[MAXN], sz;int get_num(char* s, int& i) {int tmp = 0;for( ; s[i]!=']'; ) {if(s[i] == ',') { i++; break; } else {tmp = tmp * 10 + (s[i]-'0');i ++;}}return tmp;
}char buf[MAXN];signed main() {#ifdef debugfreopen("test.txt", "r", stdin);clock_t stime = clock();
#endifscanf("%s ", buf);int i = 1, j;while(buf[i] && buf[i]!=']') {int p = get_num(buf, i);a[++sz] = p;}// for(int i=1; i<=sz; i++) printf("[%d] ", a[i]);// printf("\n");for(i=2, j=1; i<=sz; i++) {// show(a[i], a[i-1]);if(a[i] == a[j]) continue ;a[++j] = a[i];}// for(int i=1; i<=j; i++) show(a[i]);printf("%d\n", j);#ifdef debugclock_t etime = clock();printf("rum time: %lf 秒\n",(double) (etime-stime)/CLOCKS_PER_SEC);
#endif return 0;
}

试卷: 浩鲸科技2019校招算法类笔试题 原地去重相关推荐

  1. 牛客 试卷: 浩鲸科技2019校招算法类笔试题 经典二分 二分答案

    珂珂喜欢吃香蕉.这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉.警卫已经离开了,将在 H 小时后回来. 珂珂可以决定她吃香蕉的速度 K (单位:根/小时).每个小时,她将会选择一堆香蕉, ...

  2. 招银网络科技java春招二面_招银网络科技 2019春招笔试题复盘

    因本人刚开始写博客,学识经验有限,如有不正之处望读者指正,不胜感激:也望借此平台留下学习笔记以温故而知新.这篇博客是复盘回忆招银网络科技2019春招的笔试试题类型,相关岗位:算法工程师. 简要介绍:时 ...

  3. 浩鲸科技 2021校招 java开发

    一面 35分钟 自我介绍(没有介绍项目) 反射机制的理解聊一下 你对这个岗位的理解 问对框架的了解 对前端知识了解吗 对linux的了解怎么样,说一下常用的linux指令 数据库JDBC怎么操作 sq ...

  4. 猿辅导2019校招技术类笔试题(题目出的很好)

    1.猿辅导公司某研发小组一共有 12 名同学,其中 9 人能做后端开发,6 人能做前端开发.现在要抽调 4 名同学成立项目小组,负责公司的一项"机密"项目.其中 2 名同学做后端开 ...

  5. 9.23浩鲸科技java开发校招电话一面

    1.spring bean的生命周期.bean的几种注入方式 (1.xml配置<constructor-arg>构造器注入 :2.<property>setter getter ...

  6. 浩鲸科技基于ChaosBlade的混沌工程实践

    简介:浩鲸科技在海量互联网服务以及当前爆炸式增长的流量场景实践过程中,沉淀出了包括,链路压测,流控管理,动态扩缩容,故障演练等高可用核心技术,并通过云上服务化.平台化和工具化的形式,帮助内部产品研发部 ...

  7. 浩鲸科技携手阿里云原生共同打造“场域运营数字化解决方案”

    **简介:**日前,浩鲸科技加入阿里云原生合作伙伴计划,并联合发布"场域运营数字化解决方案",旨在为了帮助更多百购企业从业务.管理.系统三个层面快速构建整体数字化架构. 智慧零售时 ...

  8. 浩鲸科技与帆软达成战略合作,重磅推出数据中台联合解决方案

    随着数字经济的蓬勃发展,加强外部合作和交流,互相借鉴先进的技术和理念,实现资源共享.优势产品互补等,是软件服务商推动创新的重要路径之一.在这一背景下,帆软软件与浩鲸科技的战略合作水到渠成. 10月12 ...

  9. 牛客网真题刷题经验一:浩鲸科技2020届java笔试

    1.浩鲸科技2020届java笔试 编写Java Application 程序,查找出字符串str中字符A,替换成字符B,并统计替换的次数.[注]不可以使用Java的内置函数,如index().rep ...

最新文章

  1. JavaScript使用ACTIVEX控件引起崩溃问题的解决
  2. 类型转换操作符:static_cast, dynamic_cast, const_cast, reinterpret_cast.
  3. Java进阶:mysql的事务隔离级别面试题
  4. 二维观察---曲线的裁剪
  5. linux用户组和权限分配
  6. 网站安全webshell扫描
  7. CE修改器入门:运用代码注入
  8. 计算机文档排版软件,WORD排版大师
  9. 直流电机+L298N电机驱动模块
  10. 【蓝桥杯】单片机教程
  11. python怎样计算增长率_Python令人难以置信的增长
  12. Flutter 修改App Logo图标
  13. Javascript正则表达式表示固定开头和结尾的字符串
  14. Mac 系统下VisualVM的安装
  15. 读《深陷平庸的SaaS如何自救?》有感
  16. 微服务-Nacos动态配置中心
  17. qt creator使用vcpkg
  18. 对物联网通信技术原理的认知与理解
  19. 程序员离职代码交接_离职程序员交接工作被同事怒怼:每一行代码都必须讲清楚,不然投诉...
  20. linux循环运算,shell case循环写个计算器

热门文章

  1. 机器学习:指数函数和对数函数简单区别
  2. 乘法逆元(inverse element)及四大相关求法详解(含证明)
  3. C-07 求奇数乘积
  4. 物联网助力智慧农业,农民也能成为科技工作者
  5. 姿态和旋转矩阵的探究
  6. 计算机图形学之GAMES101课程作业3的TBN矩阵
  7. 【20210719】【数据分析】使用 Matlab,绘制 Bland-Altman 图,对呼吸率、心率进行误差分析
  8. 进入bios看了,vt已经开了,为什么打开模拟器还显示未开启?
  9. PHP单例模式使用clone
  10. 求质数算法的 N 种境界[1] - 试除法和初级筛法