<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[godgress的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/godgress</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; godgress]]></copyright><item><title><![CDATA[冲 ~ 牛客网_BM12 单链表的排序]]></title><link>https://blog.youkuaiyun.com/godgress/article/details/124597662</link><guid>https://blog.youkuaiyun.com/godgress/article/details/124597662</guid><author>godgress</author><pubDate>Thu, 05 May 2022 21:07:13 +0800</pubDate><description><![CDATA[import java.util.*;
public class Solution {
    public ListNode sortInList (ListNode head) {
        ListNode res = new ListNode(head.val);
        head = head.next;
        while(head != null){
            if(head.val &lt;= res.val){
                List.]]></description><category></category></item><item><title><![CDATA[冲 ~ 牛客网_BM11 链表相加(二)]]></title><link>https://blog.youkuaiyun.com/godgress/article/details/124584940</link><guid>https://blog.youkuaiyun.com/godgress/article/details/124584940</guid><author>godgress</author><pubDate>Thu, 05 May 2022 11:16:38 +0800</pubDate><description><![CDATA[import java.util.*;

public class Solution {
    
    public ListNode addInList (ListNode head1, ListNode head2) {
        if(head1 == null ) return head2;
        if(head2 == null ) return head1;
        ListNode p = head1;
        ListNode q = head2;
  .]]></description><category></category></item><item><title><![CDATA[冲 ~ 牛客网_BM9 删除链表的倒数第n个节点]]></title><link>https://blog.youkuaiyun.com/godgress/article/details/124582957</link><guid>https://blog.youkuaiyun.com/godgress/article/details/124582957</guid><author>godgress</author><pubDate>Thu, 05 May 2022 10:00:32 +0800</pubDate><description><![CDATA[import java.util.*;

public class Solution {
    
    public ListNode removeNthFromEnd (ListNode head, int n) {
        if( n == 0 || head == null) return head;
        ListNode q = head;
        ListNode p = head;
        for(int i = 0 ; i &lt; n ; i++){.]]></description><category></category></item><item><title><![CDATA[冲 ~ 牛客网_BM6 判断链表中是否有环]]></title><link>https://blog.youkuaiyun.com/godgress/article/details/124563450</link><guid>https://blog.youkuaiyun.com/godgress/article/details/124563450</guid><author>godgress</author><pubDate>Tue, 03 May 2022 22:54:37 +0800</pubDate><description><![CDATA[描述 判断给定的链表中是否有环。如果有环则返回true，否则返回false。
数据范围：
链表长度 0≤n≤10000，链表中任意节点的值满足 |val| &lt;=100000
要求：空间复杂度 O(1)，时间复杂度 O(n)
输入分为两部分，第一部分为链表，第二部分代表是否有环，然后将组成的head头结点传入到函数里面。-1代表无环，其它的数字代表有环，这些参数解释仅仅是为了方便读者自测调试。实际在编程时读入的是链表的头节点。

例如 输入{3,2,0,-4},1时，对应的链表结构如下图所示：



.]]></description><category></category></item><item><title><![CDATA[冲 ~ 牛客网_BM5 合并k个已排序的链表]]></title><link>https://blog.youkuaiyun.com/godgress/article/details/124563049</link><guid>https://blog.youkuaiyun.com/godgress/article/details/124563049</guid><author>godgress</author><pubDate>Tue, 03 May 2022 22:33:09 +0800</pubDate><description><![CDATA[import java.util.*;
public class Solution {
    public ListNode mergeKLists(ArrayList&lt;ListNode&gt; lists) {
        if (lists.size() == 0 || lists == null) return null;
        if (lists.size() == 1) return lists.get(0);
        //主要采用每两两合并 当合并成一个后 就是..]]></description><category></category></item><item><title><![CDATA[冲 ~ 牛客网_BM4 合并两个排序的链表]]></title><link>https://blog.youkuaiyun.com/godgress/article/details/124562100</link><guid>https://blog.youkuaiyun.com/godgress/article/details/124562100</guid><author>godgress</author><pubDate>Tue, 03 May 2022 21:34:55 +0800</pubDate><description><![CDATA[描述 输入两个递增的链表，单个链表的长度为n，合并这两个链表并使新链表中的节点仍然是递增排序的。 数据范围： 0 \le n \le
10000≤n≤1000，-1000 \le 节点值 \le 1000−1000≤节点值≤1000
要求：空间复杂度O(1)，时间复杂度 O(n)O(n)
如输入{1,3,5},{2,4,6}时，合并后的链表为{1,2,3,4,5,6}，所以对应的输出为{1,2,3,4,5,6}，转换过程如下图所示：

或输入{-1,2,4},{1,3,4}时，合并后的链表为{-1,1,2.]]></description><category></category></item><item><title><![CDATA[leetcode_82. 删除排序链表中的重复元素 II]]></title><link>https://blog.youkuaiyun.com/godgress/article/details/123977491</link><guid>https://blog.youkuaiyun.com/godgress/article/details/123977491</guid><author>godgress</author><pubDate>Tue, 05 Apr 2022 21:25:04 +0800</pubDate><description><![CDATA[给定一个已排序的链表的头 head ，删除原始链表中所有重复数字的节点，只留下不同的数字 。返回已排序的链表。
示例 1：
输入：head = [1,2,3,3,4,4,5]
输出：[1,2,5]
示例 2：

输入：head = [1,1,1,2,3]
输出：[2,3]
提示：



链表中节点数目在范围 [0, 300] 内
-100 &lt;= Node.val &lt;= 100
题目数据保证链表已经按升序排列



来源：力扣（LeetCode）
链接：https://leetcode-cn.c.]]></description><category></category></item><item><title><![CDATA[蓝桥杯_算法提高_搬运冰块]]></title><link>https://blog.youkuaiyun.com/godgress/article/details/122335603</link><guid>https://blog.youkuaiyun.com/godgress/article/details/122335603</guid><author>godgress</author><pubDate>Thu, 06 Jan 2022 01:45:02 +0800</pubDate><description><![CDATA[问题描述
　　丑枫接到了一份奇葩的工作:往冰库里搬运冰块.冰库外放着N箱冰块,由于室外温度高,冰块会很快融化,且每箱冰块的融化速度不同.因为每箱冰块的体积,质量不等,把每箱冰块搬运进冰块花费的时间也不同.因此需要合理安排搬运顺序,才能使总的冰块融化量最小.丑枫请你帮忙计算最少的总融化量是多少,以便汇报上司.
输入格式
　　第一行输入整数N
　　接下来N行,每行两个整数,分别表示每箱冰块的搬运耗时Ti及融化速度Di.
输出格式
　　输出最少的总融化量
样例输入
6
6 1
4 5
4 3
6 2
8 1
2 ]]></description><category></category></item><item><title><![CDATA[蓝桥杯_算法提高_最小字符串]]></title><link>https://blog.youkuaiyun.com/godgress/article/details/122335264</link><guid>https://blog.youkuaiyun.com/godgress/article/details/122335264</guid><author>godgress</author><pubDate>Thu, 06 Jan 2022 00:47:24 +0800</pubDate><description><![CDATA[问题描述 　　
给定一些字符串(只包含小写字母)，要求将他们串起来构成一个字典序最小的字符串。
输入格式
第一行T,表示有T组数据。 　　
接下来T组数据 　　
每组第一行一个正整数n，表示字符串个数。
接下来n行，每行一个字符串(长度不超过100)。
输出格式 　
T行，每行一个字符串。
样例输入
1
3
a
b
c
样例输出
abc
数据规模和约定 　　
T&lt;=7000，n&lt;=100；

import java.util.*;
public class Main{
    public s.]]></description><category></category></item><item><title><![CDATA[蓝桥杯_基础练习_十六进制转八进制]]></title><link>https://blog.youkuaiyun.com/godgress/article/details/122309191</link><guid>https://blog.youkuaiyun.com/godgress/article/details/122309191</guid><author>godgress</author><pubDate>Tue, 04 Jan 2022 18:52:25 +0800</pubDate><description><![CDATA[问题描述 　　
给定n个十六进制正整数，输出它们对应的八进制数。
输入格式 　　
输入的第一行为一个正整数n （1&lt;=n&lt;=10）。 　　
接下来n行，每行一个由0 ~ 9、大写字母A~F组成的字符串，表示要转换的十六进制正整数，每个十六进制数长度不超过100000。
输出格式 　　
输出n行，每行为输入对应的八进制正整数。
【注意】 　　
输入的十六进制数不会有前导0，比如012A。 　　
输出的八进制数也不能有前导0。
样例输入 　　
2 　　
39 　　
123ABC
样例输出
71 　.]]></description><category></category></item><item><title><![CDATA[LeetCode-63. 不同路径 II]]></title><link>https://blog.youkuaiyun.com/godgress/article/details/122154350</link><guid>https://blog.youkuaiyun.com/godgress/article/details/122154350</guid><author>godgress</author><pubDate>Sun, 26 Dec 2021 13:18:06 +0800</pubDate><description><![CDATA[一个机器人位于一个 m x n 网格的左上角 （起始点在下图中标记为“Start” ）。
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角（在下图中标记为“Finish”）。

现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径？
网格中的障碍物和空位置分别用 1 和 0 来表示。

示例 1：

输入：obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]
输出：2
解释： 3x3 网格的正中间有一个障碍物。
从左上角到右下角一共有 2 条不同的路.]]></description><category></category></item><item><title><![CDATA[Leetcode - 61. 旋转链表]]></title><link>https://blog.youkuaiyun.com/godgress/article/details/122153594</link><guid>https://blog.youkuaiyun.com/godgress/article/details/122153594</guid><author>godgress</author><pubDate>Sun, 26 Dec 2021 12:12:13 +0800</pubDate><description><![CDATA[给你一个链表的头节点 head ，旋转链表，将链表每个节点向右移动 k 个位置。

示例 1：

输入：head = [1,2,3,4,5], k = 2
输出：[4,5,1,2,3]


示例 2：

输入：head = [0,1,2], k = 4
输出：[2,0,1]

提示：

链表中节点的数目在范围 [0, 500] 内
-100 &lt;= Node.val &lt;= 100
0 &lt;= k &lt;= 2 * 109

来源：力扣（LeetCode） 链接：https://leetco.]]></description><category></category></item><item><title><![CDATA[57. 插入区间]]></title><link>https://blog.youkuaiyun.com/godgress/article/details/122134172</link><guid>https://blog.youkuaiyun.com/godgress/article/details/122134172</guid><author>godgress</author><pubDate>Fri, 24 Dec 2021 19:02:18 +0800</pubDate><description><![CDATA[给你一个 无重叠的 ，按照区间起始端点排序的区间列表。
在列表中插入一个新的区间，你需要确保列表中的区间仍然有序且不重叠（如果有必要的话，可以合并区间）。

示例 1：
输入：intervals = [[1,3],[6,9]], newInterval = [2,5]
输出：[[1,5],[6,9]]


示例2：
输入：intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]
输出：[[1,2],[3,10],[12,16]].]]></description><category></category></item><item><title><![CDATA[56. 合并区间]]></title><link>https://blog.youkuaiyun.com/godgress/article/details/122130226</link><guid>https://blog.youkuaiyun.com/godgress/article/details/122130226</guid><author>godgress</author><pubDate>Fri, 24 Dec 2021 16:04:50 +0800</pubDate><description><![CDATA[以数组 intervals 表示若干个区间的集合，其中单个区间为 intervals[i] = [starti, endi]。请你合并所有重叠的区间，并返回一个不重叠的区间数组，该数组需恰好覆盖输入中的所有区间。

示例 1：
输入：intervals = [[1,3],[2,6],[8,10],[15,18]]
输出：[[1,6],[8,10],[15,18]]
解释：区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].


示例 2：
输入：intervals = [[1,4],[4,.]]></description><category></category></item><item><title><![CDATA[48. 旋转图像]]></title><link>https://blog.youkuaiyun.com/godgress/article/details/122103781</link><guid>https://blog.youkuaiyun.com/godgress/article/details/122103781</guid><author>godgress</author><pubDate>Thu, 23 Dec 2021 12:38:11 +0800</pubDate><description><![CDATA[给定一个 n × n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。
你必须在 原地 旋转图像，这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。

示例 1：

输入：matrix = [[1,2,3],[4,5,6],[7,8,9]]
输出：[[7,4,1],[8,5,2],[9,6,3]]


示例 2：

输入：matrix = [[5,1,9,11],[2,4,8,10],[13,3,6,7],[15,14,12,16]]
输出：[[15,13,2.]]></description><category></category></item><item><title><![CDATA[38. 外观数列]]></title><link>https://blog.youkuaiyun.com/godgress/article/details/122051969</link><guid>https://blog.youkuaiyun.com/godgress/article/details/122051969</guid><author>godgress</author><pubDate>Mon, 20 Dec 2021 22:35:37 +0800</pubDate><description><![CDATA[给定一个正整数 n ，输出外观数列的第 n 项。
「外观数列」是一个整数序列，从数字 1 开始，序列中的每一项都是对前一项的描述。
你可以将其视作是由递归公式定义的数字字符串序列：

countAndSay(1) = “1”
List item

countAndSay(n) 是对 countAndSay(n-1) 的描述，然后转换成另一个数字字符串。
前五项如下：

1.1
2.11
3.21
4.1211
5.111221
第一项是数字 1  描述前一项，这个数是 1 即 “ 一 个 1 ”，记作 “.]]></description><category></category></item><item><title><![CDATA[25. K 个一组翻转链表]]></title><link>https://blog.youkuaiyun.com/godgress/article/details/121950416</link><guid>https://blog.youkuaiyun.com/godgress/article/details/121950416</guid><author>godgress</author><pubDate>Wed, 15 Dec 2021 13:50:34 +0800</pubDate><description><![CDATA[给你一个链表，每 k 个节点一组进行翻转，请你返回翻转后的链表。 k 是一个正整数，它的值小于或等于链表的长度。 如果节点总数不是 k 的整数倍，那么请将最后剩余的节点保持原有顺序。
进阶：你可以设计一个只使用常数额外空间的算法来解决此问题吗？ 你不能只是单纯的改变节点内部的值，而是需要实际进行节点交换。
示例 1：


输入：head = [1,2,3,4,5], k = 2
输出：[2,1,4,3,5]

示例 2：


输入：head = [1,2,3,4,5], k = 3
输出：[3,2,1,4.]]></description><category></category></item><item><title><![CDATA[24. 两两交换链表中的节点]]></title><link>https://blog.youkuaiyun.com/godgress/article/details/121941556</link><guid>https://blog.youkuaiyun.com/godgress/article/details/121941556</guid><author>godgress</author><pubDate>Tue, 14 Dec 2021 22:42:57 +0800</pubDate><description><![CDATA[给你一个链表，两两交换其中相邻的节点，并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题（即，只能进行节点交换）。

示例 1：

输入：head = [1,2,3,4]
输出：[2,1,4,3]
示例 2：


输入：head = []
输出：[]
示例 3：
输入：head = [1]
输出：[1]

提示：

链表中节点的数目在范围 [0, 100] 内
0 &lt;= Node.val &lt;= 100

来源：力扣（LeetCode）
链接：https://leetcode-.]]></description><category></category></item><item><title><![CDATA[605. 种花问题]]></title><link>https://blog.youkuaiyun.com/godgress/article/details/121846346</link><guid>https://blog.youkuaiyun.com/godgress/article/details/121846346</guid><author>godgress</author><pubDate>Thu, 09 Dec 2021 23:27:23 +0800</pubDate><description><![CDATA[假设有一个很长的花坛，一部分地块种植了花，另一部分却没有。可是，花不能种植在相邻的地块上，它们会争夺水源，两者都会死去。
给你一个整数数组  flowerbed 表示花坛，由若干 0 和 1 组成，其中 0 表示没种植花，1 表示种植了花。另有一个数 n
，能否在不打破种植规则的情况下种入 n 朵花？能则返回 true ，不能则返回 false。


示例 1：
输入：flowerbed = [1,0,0,0,1], n = 1
输出：true
示例 2：
输入：flowerbed = [1,0,0,0..]]></description><category></category></item><item><title><![CDATA[55. 跳跃游戏]]></title><link>https://blog.youkuaiyun.com/godgress/article/details/121839345</link><guid>https://blog.youkuaiyun.com/godgress/article/details/121839345</guid><author>godgress</author><pubDate>Thu, 09 Dec 2021 18:56:08 +0800</pubDate><description><![CDATA[给定一个非负整数数组 nums ，你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。
示例 1：

输入：nums = [2,3,1,1,4]
输出：true
解释：可以先跳 1 步，从下标 0 到达下标 1, 然后再从下标 1 跳 3步到达最后一个下标。

示例 2：

输入：nums = [3,2,1,0,4]
输出：false
解释：无论怎样，总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 ， 所以永远不可能到达最后一个下.]]></description><category></category></item></channel></rss>