emmmm看到评论中很多同学都不太了解这三道算法题的解法,说一下自己的理解吧。第一题:很简单使用26的数组记录一下t中包含的字符,然后使用StringBuilder遍历拼接结果即可。第二题:要构成一棵树,也就是说整棵树的父节点只能有一个,这就代表了我们所有节点形成的集合中,最终会合并成一个联通分量,那我们使用并查集对父子节点进行合并判断最终联通分量的个数。第三题:直觉告诉我们,如果两个高位二进制相与为1,肯定比两个低位二进制相与为1的数要大,我们从高位开始枚举,如果存在两个及以上的1,那么将其他该位为0的淘汰,继续向后遍历,最终如果只剩下两个数,那么最终的结果就是这两个数相与。
5 3

相关推荐

牛客网
牛客企业服务