360笔试算法题
1. 传染病防控
并查集,两两判断曼哈顿距离,如果小于k,就将父节点大的点添加到父节点小的点的集合中,统计每个节点集合中的节点个数,返回最大值。
2.盘古开天
线性dp分别求出每个下标作为开始和结束的最长递增序列的长度保存在数组dp1和dp2中。然后遍历判断修改每个下标的高度能得到的最长递增序列的最大值,特别注意如果当前下标(i)的后一个下标(i+1)的高度比当前下标前一个下标(i-1)的高度大于1,那么修改当前下标的高度能得到的最长递增子序列为dp2[i-1]+dp1[i+1]+1。
并查集,两两判断曼哈顿距离,如果小于k,就将父节点大的点添加到父节点小的点的集合中,统计每个节点集合中的节点个数,返回最大值。
2.盘古开天
线性dp分别求出每个下标作为开始和结束的最长递增序列的长度保存在数组dp1和dp2中。然后遍历判断修改每个下标的高度能得到的最长递增序列的最大值,特别注意如果当前下标(i)的后一个下标(i+1)的高度比当前下标前一个下标(i-1)的高度大于1,那么修改当前下标的高度能得到的最长递增子序列为dp2[i-1]+dp1[i+1]+1。
全部评论
第二题要用dp啊,我用滑动窗口做了半小时没做出来
第一道传染病直接就是经典的多源bfs吧,在多源里面找一个最大值
大佬,能把第二题题解发来我看看嘛?
第二题思路一样 只过了0.36 最后也没调出来
相关推荐
查看45道真题和解析
点赞 评论 收藏
分享