• 2018春招-今日头条笔试题5题(后附大佬答案-c++版)


    1题目描述

    在n个元素的数组中,找到差值为k的除重后的数字对

    输入描述

    第一行:n和k,n表示数字的个数,k表示差值

    第二行:n个整数

    输入样例

             输入:

                      5 2

                      1 5 3 4 2

             输出:

                      3

             说明:

                      (1,3),(5,3),(4,2)

             输入:

                      6 2

                      1 5 3 3 4 2

             输出:

                      3

             说明:

                      (1,3),(5,3),(4,2)

             输入:

                      4 0

                      1 1 1 1

             输出:

                      1

             说明:

                      (1,1)

    第一题python实现

    2题目描述

    定义两个字符串变量:s和m,再定义两个操作:

    第一种操作:m=s         s=s+s

    第二种操作:s=s+m

    假设s和m,初始如下:

    s='a'         m=s

    求最小步骤数,可以将s拼接到长度等于n

    输入描述

    一个整数n,表明我们需要得到s字符串长度,0<n<1000

    输出描述

    一个整数,表明总共操作次数

    输入样例:

             输入

             6

             输出

             3

             说明:

             输入是6,表明我们需要得到s字符串长度为6,也就是s为最终为‘aaaaaa’,那么依次使用2次“第一种操作”和1次“第二种操作”就能达到目的,总共操作次数是3

             输入

             5

             输出

             4

             说明:

             输入是5,表明我们需要得到s字符串长度为5,也就是‘aaaaa’,那么直接使用4次“第二种操作”就能达到目的,总共操作次数是4

    第二题python实现

    3题目描述

    如下用‘6’拼出0123456789,其中用.. 隔开每个数字

    输入描述

    第一行为一个整数n

    接下来n行,每行为一个表达式

    表达式长度不超过100,1<=n<=100,表达式中仅仅包含'+'、' - '、'*'、' /'四中字符串,中间结果在[-2^63,2^63-1]范围内,最总结果在[0, 2^63-1]范围内

    输入样例:

             输入

             2

             6+6

             6*6

             输出

      

    第三题python实现

    4题目描述

    给定一个包含整数的集合a和一个集合b。定义magic操作,从一个集合中去除一个数,放到一个集合里,且操作过后每个集合的平均值都大于操作前。

    注意以下两点:

    ①不可以把一个集合的元素都取空,这样就没有平均值了

    ②值为x的元素从集合b中取出放入集合a,但集合a中已经有值为x的元素,则a的平均值不变(因为集合元素不会重复),b的平均值可能会改变(因为x被取出)

    问最多可以进行多少次magic操作?

    输入描述

    第一行为两个整数n,m

    第二行n个整数,表示集合a中的元素

    第三行m个集合,表示集合b中的元素

    输出描述

    输出一个整数,表示最多可以进行的操作次数

    输入样例

            输入

            3 5

            1 2 5

            2 3 4 5 6

            输出

            2

            说明

            依存从b集合取出3、4元素放入集合

    第四题python实现

    5题目描述

    小T最近迷上了一款跳板游戏

    已知空中有N个高度互不相同的跳板,小T刚开始在高度为0的地方,每次跳跃可以选择与自己当前高度绝对值差小于等于H的挑板,跳跃过后到达以跳板为轴的镜像位置,问小T在最多条K次的情况下能跳多高?(任意时刻,高度不能为负)

    输入描述

    第一行三个整数 N,K,H

    以下N行,每行一个整数Ti,表示第i个跳板离地的高度

    输出描述

    一个整数,表示最高能跳到的高度

    输入样例

            输入

            3 3 2

            1

            3

            6

            输出

            8

            说明

            小T初始在高度0的地方

            第一次跳跃只能选择高度为1的跳板,结束后到达高度为2的地方,计算方式:

            高度1=初始高度+(跳板高度-初始高度)*2=0+(1-0)*2=2

            第二次跳跃只能选择高度为3的跳板,结束后达到高度为4的地方,计算方式:

            高度2=高度1+(跳板2高度-高度1)*2=2+(3-2)*2=4

            第二次跳跃只能选择高度为6的跳板,结束后达到高度为8的地方,计算方式:

            高度3=高度2+(跳板3高度-高度2)*2=4+(6-4)*2=8

     大佬的答案(c++):https://www.nowcoder.com/discuss/70299?type=0&order=0&pos=7&page=1

     

  • 相关阅读:
    c++笔记--数组对象、vector对象和构造函数
    马加爵之歌
    周末有同学要来
    IQ
    [转]JavaScript中typeof 讲解
    【转】JS兼容Firefox
    firefox与ie 的javascript区别
    关于委托(转)
    经典常用的javascript代码收藏
    关于DataList使用DropDownList的分页实现 技巧实例源码
  • 原文地址:https://www.cnblogs.com/ybf-yyj/p/8647940.html
Copyright © 2020-2023  润新知