- 博客(4)
- 收藏
- 关注
原创 Java合并两个有序链表
可以看到,ListNode(int val, ListNode next),链表的结构是一个数据,然后后面接着一堆据的,一个next接着一个next,知道next为null。看这一条,也就是把链表的顶部单独拿开了,然后把ListNode(int val, ListNode next)中的next变成了本身list1的next加上list2,新链表是通过拼接给定的两个链表的所有节点组成的。返回list1,list2中的其中一个,最后当next的值为null时,将两个升序链表合并为一个新的。
2023-07-26 17:54:13
384
原创 leetcode简单题,将数组和减半的最少操作次数
看到这里的时候,我自己想的就是用贪心算法,每次选中数组中的最大值,再将最大值放回数组,然后搞了一堆,写完提交肯定是超出编译时间的,看了别人的发现可以用优先队列,然后自己又去把队列的知识恶补了一下。但是我们要找最大值,又因为PriorityQueue中有一个取顶部值的方法poll(),所以我们给它换一个排序方法。首先是我们要用到的优先队列,直接创建优先队列的话,队列是按顺序排列的。poll(),取顶部值,并删除顶部元素,队列中没有元素返回null。(注意,在后续操作中你可以对减半过的数继续执行操作)
2023-07-25 11:19:39
223
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅