1、剑指 Offer 29. 顺时针打印矩阵
2、321、拼接最大数
第2题大神的题解:Java 拆分子问题 合并求解
做点笔记:
大致思路:
- 假设最终结果有count个数(介于0~k之间)字在nums1中,那么有(k-count)个数字在nums2中,最外层循环遍历0到count的情况。不一定从0开始,若nums2个数不足k个,则从(k-nums2.length)开始。同样,不一定在count结束,若nums1个数不足k个,则在nums1.length结束。
- 分别从nums1、nums2取最大子序列。可以借助栈来获取最大子序列,注意只有当数组剩余元素多余栈中剩余空间时,才能将栈中较小的元素出栈。
- 合并两个子序列组成一个序列。可以借助双指针从头递进比较序列元素大小,注意比较时不能仅比较当前索引出元素,需按大数比较。
- 比较合并后序列的大小是否大于已缓存的答案序列的大小,取大的作为答案序列。
- 作者:chidehang
链接&