题目描述: 有一组区间 [a0, b0], [a1, b1], ... (a, b 表示起点, 终点),区间有可能重叠、相邻,重叠或相邻则可以合并为更大的区间;给定一组连接器[x1, x2, x3, ...](x 表示连接器的最大可连接长度,即 x>=gap),可用于将分离的区间连接起来,但两个分离区间之间只能使用1个连接器;请编程实现使用连接器后,最少的区间数结果。 区间数量 <10000;a,
题目描述: 定义字符串完全由 'A' 和 'B'组成,当然也可以全是'A'或全是'B'。如果字符串从前往后都是以字典序排列的,那么我们称之为严格递增字符串。 给出一个字符串s,允许修改字符串中的任意字符,即可以将任何的'A'修改成'B',也可以将任何的'B'修改成'A',求可以使s满足严格递增的最小修改次数。0<s的长度<100000。 输入描述: 输入一个字符串: "AABBA" 输出描述: 输
题目描述: 给定一组数字,表示扑克牌的牌面数字,忽略扑克牌的花色,请按如下规则对这一组扑克牌进行整理: 步骤1、对扑克牌进行分组,形成组合牌,规则如下: 当牌面数字相同张数大于等于4时,组合牌为“炸弹”; 3张相同牌面数字 + 2张相同牌面数字,且3张牌与2张牌不相同时,组合牌为“葫芦”; 3张相同牌面数字,组合牌为“三张”; 2张相同牌面数字,组合牌为“对子”; 剩余没有相同的牌,则为“单张”;
好不甘心,C++,通过85%,感觉思路比较清楚,有无大佬给点修改意见 int num; cin>>num; int a, b; vector<vector<int>> vec; int x = 1000000; int y = -1; while (cin >> a >> b) { //确定运行时间的左右区间 if (x > a) x = a; if (y < b) y = b; vector<i
题目描述 输入 m 和 n 两个数,m 和 n 表示一个 m*n 的棋盘。输入棋盘内的数据。棋盘中存在数字和"."两种字符,如果是数字表示该位置是一匹马,如果是"."表示该位置为空的,棋盘内的数字表示为该马能走的最大步数。 例如棋盘内某个位置一个数字为 k,表示该马只能移动 1~k 步的距离。 棋盘内的马移动类似于中国象棋中的马移动,先在水平或者垂直方向上移动一格,然后再将其移动到对角线位置。 棋
第一题:给一个二维数组,对于二维数组每个元素,计算该元素和其他相同元素的最小距离,最小距离为二者横纵坐标差值绝对值的和,如果该元素没有其他相同元素,距离为-1,输出一个距离二维数组。数据范围1<=i, j<=100。 第二题:求两个字符串的最长公共子字符串。数据范围1<=len<=10000。 第三题:给一个二维数组,如vec[i][j] = 1表示编号为i和j的两个快递站互通业务,为0则表示不通
第一题: 有点记不太清了,好像是将字符串重复出现最多的字符打印出来,使用hashMap就可以解决了。 第二题: 停车场问题,一个1表示小轿车,两个1表示大巴车,三个1表示大卡车,0表示空。给一个由若干个1和若干个0组成的数组(如{1,0,1,1,0,1,1,1,1,1,0})表示的停车场,求这个停车场最少由几辆车。解题思路:我们只需要让车尽量大就可以了。遍历数组,使用一个临时变量来存储当前累计的1
题目描述 某公司目前推出了AI开发者套件,AI加速卡,AI加速模块,AI服务器,智能边缘多种硬件产品,每种产品包含若干个型号。现某合作厂商要采购金额为amount元的硬件产品搭建自己的AI基座。例如当前库存有N种产品,每种产品的库存量充足,给定每种产品的价格,记为price(不存在价格相同的产品型号)。请为合作厂商列出所有可能的产品组合。 输入描述 输入包含采购金额amount和产品价格列表pri
题目描述: 小明有n块木板,第i(1<=i<=n)块木板的长度为ai。 小明买了一块长度为m的木料,这块木料可以切割成任意块,拼接到已有的木板上,用来加长木板。小明想让最短的木板尽量长。请问小明加长木板后,最短木板的长度最大可以为多少? 输入描述: 输入的第一行包含两个正整数,n(11n1103),m(11m1106)——n表示木板数,m表示木料长度。 输入的第二行包含n个正整数,a1,a2,,,
题目描述:小明负责维护项目下的代码,需要查找出重复代码,用以支撑后续的代码优化,请你帮助小明找出重复的代码。重复代码查找方法:以字符串形式给定两行代码(字符串长度 1 < length <= 100,由英文字母、数字和空格组成),找出两行代码中的最长公共子串。注: 如果不存在公共子串,返回空字符串 输入描述: 输入的参数text1, text2分别表示两行代码 输出描述: 输出任一最长公共子串 示
题目描述: 记账本上记录了若干条多国货币金额,需要转换成人民币分(fen),汇总后输出。 每行记录一条金额,金额带有货币单位,格式为数字+单位,可能是单独元,或者单独分,或者元与分的组合。 要求将这些货币全部换算成人民币分(fen)后进行汇总,汇总结果仅保留整数,小数部分舍弃。 元和分的换算关系都是1:100,如下: 1CNY=100fen(1元=100分) 1HKD=100cents(1港元=1
题目描述: 日志采集是运维系统的的核心组件。日志是按行生成,每行记做一条,由采集系统分批上报。 如果上报太频繁,会对服务端造成压力;如果上报太晚,会降低用户的体验;如果一次上报的条数太多,会导致超时失败。 为此,项目组设计了如下的上报策略: 1、每成功上报一条日志,奖励1分 2、每条日志每延迟上报1秒,扣1分 3、积累日志达到100条,必须立即上报 给出日志序列,根据该规则,计算首次上报能获得的最
题目描述: 公司某部门软件教导团正在组织新员工每日打卡学习活动,他们开展这项学习活动已经一个月了,所以想统计下这个月优秀的打卡员工。每个员工会对应一个id,每天的打卡记录记录当天打卡员工的id集合,一共30天。 请你实现代码帮助统计出打卡次数top5的员工。假如打卡次数相同,将较早参与打卡的员工排在前面,如果开始参与打卡的时间还是一样,将id较小的员工排在前面。 注:不考虑并列的情况,按规则返回前
import java.util.Scanner; public class MySolution { }
题目描述: 小明在玩一个数字加减游戏,只使用加法或者减法,将一个数字s变成数字t。 每个回合,小明可以用当前的数字加上或减去一个数字。 现在有两种数字可以用来加减,分别为a,b(a!=b),其中b没有使用次数限制。 请问小明最少可以用多少次a,才能将数字s变成数字t。 题目保证数字s一定能变成数字t。 输入描述: 输入的唯一一行包含四个正整数s,t,a,b(1<=s,t,a,b<=105),并且a