题目一 题解:该题目意思就是让你输入n组数据,然后求并集,利用STL容器set集合的特性:元素不重复存储,我们可以很轻易得出答案 #include <iostream> #include <set> using namespace std; int function2() { set<int> a; int lines,row; int element; while(cin>>lines) //输入lines组数据 { a.clear();//每次测试数据前…
Light 题目描述 在小红家里面,有n组开关,触摸每个开关,可以使得一组灯泡点亮.现在问你,使用这n组开关,最多能够使得多少个灯泡点亮呢? 输入 第一行一个n,表示有n组开关.接下来n行,每行第一个整数为k,表示这个开关控制k个灯泡,接下来k个整数,表示控制的灯泡序号. 满足:1<=n<=1000 .1<=k<=1000 .序号是在int范围内正整数. 输出 输出最多多少个灯泡点亮. 样例输入 3 1 1 1 2 2 1 2 样例输出 2 思路 这道题是一个去重的问题,即多个开关…
第一题:字符串距离 题目: 给出两个相同长度的由字符 a 和 b 构成的字符串,定义它们的距离为对应位置不同的字符的数量.如串”aab”与串”aba”的距离为 2:串”ba”与串”aa”的距离为 1:串”baa”和串”baa”的距离为 0.下面给出两个字符串 S 与 T,其中 S 的长度不小于 T 的长度.我们用|S|代表 S 的长度,|T|代表 T 的长度,那么在 S 中一共有|S|-|T|+1 个与T长度相同的子串,现在你需要计算 T 串与这些|S|-|T|+1 个子串的距离的和. 输入描述…
题目 给定一个 n*m 的矩阵 A ,矩阵中每一个元素为一个十六进制数.寻找一条从左上角都右下角的路径,每次只能向右或者向下移动, 使得路径上所有数字之积在 16 进制下的后缀 0 最少. 输入描述: 第一行:n, m (2 <= n,m <= 1000) 接下来 n 行,每行 m 个 16 进制整数 0<=aij<=1090<=aij<=109 输出描述: 第一行:最少后缀 0 的个数(十进制) 第二行:路径方案,从左上角开始,”>” 代表向右移动,”V” 代表…
题目 给出一个长度为 n 的数组a1.a2.....ana1.a2.....an,请找出在所有连续区间 中,区间和最大同时这个区间 0 的个数小于等于 3 个,输出这个区间和. 输入描述: 第一行一个正整数 n, 表示数组长度,1 <= n <= 1000000. 第二行 n 个正整数,a1a2...ana1a2...an,其中 -1e9 <= a1.a2.....ana1.a2.....an <= 1e9 输出描述: 一个整数 示例1: 输入 5 1 2 3 4 5 输出 15…
题目: 给 n 个正整数 a_1,…,a_n, 将 n 个数顺序排成一列后分割成 m 段,每一段的分数被记为这段内所有数的和,该次分割的分数被记为 m 段分数的最大值.问所有分割方案中分割分数的最小值是多少? 输入描述: 第一行依次给出正整数 n, m. 第二行依次给出n 个正整数 a1,...,ana1,...,an. 示例: 输入 5 3 1 4 2 3 5 输出 5 说明 分割成 1 4 | 2 3 | 5 的时候三段的分数都为 5,得到分割分数的最小值. 备注: 对于所有的数据,有 m…
题目 给 n 个实数 a_1, a_2 ... a_n, 要求计算这 n 个数两两之间差的绝对值下取整后的和是多少. 输入描述 第一行为一个正整数 n 和一个整数 m.接下来 n 行,第 i 行代表一个整数 b_i.a_i = b_i / m, i = 1...n.n <= 1000: 5分n <= 100000且 a_i 均为整数: 15分n <= 100000 1 <= m <= 10^9 0 <= b_i <= 10^18: 25分 输出描述 一个整数 示例…
题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) #-*- coding:utf-8 -*- class Magic: ''' a:用于存储数组a b:用于存储数组b num:用于存储数组最后的结果 flag:当已经没有可以移动的数据,flag置为1 ''' def __init__(self,a,b): self.a=a self.b=b self.num=0 self.flag=0 ''' avg_a:存储数组a的平均值 avg_b:存储数组b的平均值 当avg_a>av…
题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) 解题思路: 本题的做法最重要的应该是如何拼出‘1234567890’,对于输入表达试获得对应的结果利用python内置函数eval()即可以实现.利用5个字符串来表达‘1234567890’,如下(为了更好看清,字符用‘|’分割了一下) '66666|....6|66666|66666|6...6|66666|66666|66666|66666|66666''6...6|....6|....6|....6|6...6|6...…
题目描述:2018春招-今日头条笔试题5题(后附大佬答案-c++版) 解题思路: 利用深度优先搜索 #-*- coding:utf-8 -*- class DFS: ''' num:用于存储最后执行次数 n:用于存储最后达到的字符串的长度 flag:当达到输入字符串的长度时,flag置为1 ''' def __init__(self,n): self.num=0 self.n=n self.flag=0 def fun(self,s,m): self.fun_1(s,m) self.fun_2(…