阿里笔试题目

1、找出序列中重复的数字和缺少的数字
由于记账错误,给定的一个正整数序列里面,有两个数字重复了,同时缺少了一个数字。
要求写一个函数,找出序列中重复的数字和缺少的数字。
例如:
输入:[1, 5, 2, 2, 3]
输出:[2, 4]

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    vector<int> a;
    int i,j,aa;
    int o,p;
    i=0;
    o=p=0;
    while(cin>>aa){

        a.push_back(aa);
        if (cin.get() == '\n') break;
    }
    int n=a.size();
    sort(a.begin(),a.end());
    for(i=0;i<n-1;i++){
        if(a[i+1]-a[i]==0) o=a[i];//找重复
        if(a[i+1]-a[i]>1) p=a[i+1]-1;//找缺少的
    }
    cout<<o<<" "<<p;
    return 0;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
阿里探花笔试通常是阿里巴巴公司用于筛选软件开发相关岗位应聘者的笔试环节。其中的Java部分通常包括对Java语言基础知识、面向对象编程、多线程、集合框架等方面的考察。 在阿里探花笔试Java部分中,可能会出现一些编程题,例如求解数列的前n项和、实现多线程的生产者消费者模型、实现某个特定的算法等。这些题旨在考察应聘者的编程实现能力、对Java语言的理解程度以及对常用算法和数据结构的掌握情况。 在准备阿里探花笔试Java部分时,应聘者可以通过以下方式提升自己的能力: 1. 夯实Java基础知识:包括Java语言特性、面向对象编程、异常处理、集合框架等方面的基本概念和用法。 2. 熟悉多线程编程:了解多线程的基本概念、线程间的通信方式、常用的线程安全问题及其解决方法等。 3. 学习常用算法和数据结构:了解常用算法和数据结构的基本原理和应用场景,例如排序算法、查找算法、二叉树等。 4. 刷题练习:通过刷LeetCode等在线编程平台的Java题,提升自己的编程能力和算法思维。 5. 关注面试经验和题分析:了解往年阿里巴巴公司笔试的面试经验和题形式,有针对性地准备。 在笔试过程中,应聘者应注意时间分配,合理解题。如果遇到不会的题,可以跳过暂时不做,将时间和精力集中在自己擅长的题上,争取取得更好的成绩。同时,注意代码的风格和规范性,注重细节,避免出现低级错误。 总之,准备阿里探花笔试Java部分需要扎实的Java基础知识、良好的编程能力和解题思维,还需要透过题了解考察的重点和难点,有针对性地进行准备。通过充分的复习和练习,相信可以顺利应对阿里探花笔试Java部分的考查。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值