去哪儿 0906 笔试
#去哪儿旅行秋招# 单选多选难度不高
三道编程 0.6 0.8 0.2
不是很满意
第一道 60% 题目描述:给定int[] nums,打乱顺序使连接后的字典序排列最小
思路:比较用的是优先级队列,用一个列表不断对比插入
但是超时了,佬们是怎么答的
第二道 80% 题目描述:给定int[] a、int[] b、一个数字m,问满足下列规则时最少选前几个,即求最小的x
选取规则是,a和b各自选取前x个 使最大和最大相乘 次大和次大相乘 相乘的结果需要满足>=m
思路:二分选择合适的分割点idx,两个优先级队列保存[0, idx],依次弹出相乘,判断是否>=m
依旧超时
第三题 20% 题目描述:问的是一个字符串的最大的分割次数,要求分割后每段都需要 其某个字串至少重复2次
思路:boolean[][] dp[i][j]记录[i, j]是否是伪周期串+回溯
①递推时,如果长度为奇数,需要满足所有字符相等;
如果长度为偶数,需要满足 周围字符的重复次数是偶数 && dp[ii][jj]==true
②回溯进行分割,找到了一个合适的k就可以立即返回
其实我觉得思路挺清晰的,然而结果就是很低
,
三道编程 0.6 0.8 0.2
不是很满意
第一道 60% 题目描述:给定int[] nums,打乱顺序使连接后的字典序排列最小
思路:比较用的是优先级队列,用一个列表不断对比插入
但是超时了,佬们是怎么答的
第二道 80% 题目描述:给定int[] a、int[] b、一个数字m,问满足下列规则时最少选前几个,即求最小的x
选取规则是,a和b各自选取前x个 使最大和最大相乘 次大和次大相乘 相乘的结果需要满足>=m
思路:二分选择合适的分割点idx,两个优先级队列保存[0, idx],依次弹出相乘,判断是否>=m
依旧超时
第三题 20% 题目描述:问的是一个字符串的最大的分割次数,要求分割后每段都需要 其某个字串至少重复2次
思路:boolean[][] dp[i][j]记录[i, j]是否是伪周期串+回溯
①递推时,如果长度为奇数,需要满足所有字符相等;
如果长度为偶数,需要满足 周围字符的重复次数是偶数 && dp[ii][jj]==true
②回溯进行分割,找到了一个合适的k就可以立即返回
其实我觉得思路挺清晰的,然而结果就是很低
,
全部评论
相关推荐
09-27 18:03
门头沟学院 Java 点赞 评论 收藏
分享
10-10 16:55
Java 点赞 评论 收藏
分享