4.16淘天开发岗笔试

1.给定一个只包含01的字符串,可以执行相邻数字交换的操作,最少执行几次操作可以使得所有1相邻
2.给定一个元素都大于等于1的整数数组(长度大于等于1),可以执行操作:任选一个元素将它的值翻倍。问:当恰好执行两次操作时,数组中众数的最大出现次数是多少
3.给定一个树,树上有n个结点和n-1条无向边。边有两种类型:可以砍断和不可以砍断(输入时会给定)。问:至少砍几次可以使得图中所有子树的结点数小于等于2?若做不到返回-1

前两题a了1.95,第三题真不会(也有可能我题目理解有误),全输出-1骗了10%,蹲个第三题题解
全部评论
前两题怎么做的
点赞 回复 分享
发布于 04-16 22:00 江苏
蹲一手参考答案
点赞 回复 分享
发布于 04-16 22:05 山东
第一题我中位数贪心做的;第二题有不少情况要讨论,可能楼主漏情况了;第三题如果有1个节点有2条Y边直接输出-1,剩下就是树上贪心,用dfs,从叶子节点开始递归往上砍
点赞 回复 分享
发布于 04-16 22:18 北京
第二题有哪些特殊情况呀,只想到了数组都是同一个数和同一个数加上这个数的1/2这两种情况,只过了80%
点赞 回复 分享
发布于 04-17 07:30 湖北

相关推荐

头像
11-07 01:12
重庆大学 Java
精致的小松鼠人狠话不多:签哪了哥
点赞 评论 收藏
分享
10-15 16:27
门头沟学院 C++
LeoMoon:建议问一下是不是你给他付钱😅😅
点赞 评论 收藏
分享
2 7 评论
分享
牛客网
牛客企业服务