- 博客(26)
- 收藏
- 关注
原创 冲 ~ 牛客网_BM12 单链表的排序
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 <= res.val){ List.
2022-05-05 21:07:13
476
原创 冲 ~ 牛客网_BM11 链表相加(二)
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; .
2022-05-05 11:16:38
937
原创 冲 ~ 牛客网_BM9 删除链表的倒数第n个节点
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 < n ; i++){.
2022-05-05 10:00:32
456
原创 冲 ~ 牛客网_BM6 判断链表中是否有环
描述 判断给定的链表中是否有环。如果有环则返回true,否则返回false。数据范围:链表长度 0≤n≤10000,链表中任意节点的值满足 |val| <=100000要求:空间复杂度 O(1),时间复杂度 O(n)输入分为两部分,第一部分为链表,第二部分代表是否有环,然后将组成的head头结点传入到函数里面。-1代表无环,其它的数字代表有环,这些参数解释仅仅是为了方便读者自测调试。实际在编程时读入的是链表的头节点。例如 输入{3,2,0,-4},1时,对应的链表结构如下图所示:.
2022-05-03 22:54:37
97
原创 冲 ~ 牛客网_BM5 合并k个已排序的链表
import java.util.*;public class Solution { public ListNode mergeKLists(ArrayList<ListNode> lists) { if (lists.size() == 0 || lists == null) return null; if (lists.size() == 1) return lists.get(0); //主要采用每两两合并 当合并成一个后 就是..
2022-05-03 22:33:09
61
原创 冲 ~ 牛客网_BM4 合并两个排序的链表
描述 输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。 数据范围: 0 \le n \le10000≤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.
2022-05-03 21:34:55
96
原创 leetcode_82. 删除排序链表中的重复元素 II
给定一个已排序的链表的头 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 <= Node.val <= 100题目数据保证链表已经按升序排列来源:力扣(LeetCode)链接:https://leetcode-cn.c.
2022-04-05 21:25:04
303
原创 蓝桥杯_算法提高_搬运冰块
问题描述 丑枫接到了一份奇葩的工作:往冰库里搬运冰块.冰库外放着N箱冰块,由于室外温度高,冰块会很快融化,且每箱冰块的融化速度不同.因为每箱冰块的体积,质量不等,把每箱冰块搬运进冰块花费的时间也不同.因此需要合理安排搬运顺序,才能使总的冰块融化量最小.丑枫请你帮忙计算最少的总融化量是多少,以便汇报上司.输入格式 第一行输入整数N 接下来N行,每行两个整数,分别表示每箱冰块的搬运耗时Ti及融化速度Di.输出格式 输出最少的总融化量样例输入66 14 54 36 28 12
2022-01-06 01:45:02
9954
原创 蓝桥杯_算法提高_最小字符串
问题描述 给定一些字符串(只包含小写字母),要求将他们串起来构成一个字典序最小的字符串。输入格式第一行T,表示有T组数据。 接下来T组数据 每组第一行一个正整数n,表示字符串个数。接下来n行,每行一个字符串(长度不超过100)。输出格式 T行,每行一个字符串。样例输入13abc样例输出abc数据规模和约定 T<=7000,n<=100;import java.util.*;public class Main{ public s.
2022-01-06 00:47:24
585
原创 蓝桥杯_基础练习_十六进制转八进制
问题描述 给定n个十六进制正整数,输出它们对应的八进制数。输入格式 输入的第一行为一个正整数n (1<=n<=10)。 接下来n行,每行一个由0 ~ 9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。输出格式 输出n行,每行为输入对应的八进制正整数。【注意】 输入的十六进制数不会有前导0,比如012A。 输出的八进制数也不能有前导0。样例输入 2 39 123ABC样例输出71 .
2022-01-04 18:52:25
3742
原创 LeetCode-63. 不同路径 II
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。示例 1:输入:obstacleGrid = [[0,0,0],[0,1,0],[0,0,0]]输出:2解释: 3x3 网格的正中间有一个障碍物。从左上角到右下角一共有 2 条不同的路.
2021-12-26 13:18:06
63
原创 Leetcode - 61. 旋转链表
给你一个链表的头节点 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 <= Node.val <= 1000 <= k <= 2 * 109来源:力扣(LeetCode) 链接:https://leetco.
2021-12-26 12:12:13
85
原创 57. 插入区间
给你一个 无重叠的 ,按照区间起始端点排序的区间列表。在列表中插入一个新的区间,你需要确保列表中的区间仍然有序且不重叠(如果有必要的话,可以合并区间)。示例 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]].
2021-12-24 19:02:18
61
原创 56. 合并区间
以数组 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,.
2021-12-24 16:04:50
76
原创 48. 旋转图像
给定一个 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.
2021-12-23 12:38:11
70
原创 38. 外观数列
给定一个正整数 n ,输出外观数列的第 n 项。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(1) = “1”List itemcountAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。前五项如下:1.12.113.214.12115.111221第一项是数字 1 描述前一项,这个数是 1 即 “ 一 个 1 ”,记作 “.
2021-12-20 22:35:37
139
原创 25. K 个一组翻转链表
给你一个链表,每 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.
2021-12-15 13:50:34
98
原创 24. 两两交换链表中的节点
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。示例 1:输入:head = [1,2,3,4]输出:[2,1,4,3]示例 2:输入:head = []输出:[]示例 3:输入:head = [1]输出:[1]提示:链表中节点的数目在范围 [0, 100] 内0 <= Node.val <= 100来源:力扣(LeetCode)链接:https://leetcode-.
2021-12-14 22:42:57
509
原创 605. 种花问题
假设有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给你一个整数数组 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..
2021-12-09 23:27:23
73
原创 55. 跳跃游戏
给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。示例 1:输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3步到达最后一个下标。示例 2:输入:nums = [3,2,1,0,4]输出:false解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下.
2021-12-09 18:56:08
59
原创 45. 跳跃游戏 II
给你一个非负整数数组 nums ,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 假设你总是可以到达数组的最后一个位置。示例 1:输入: nums = [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。 从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。示例 2:输入: nums = [2,3,0,1,4]输出: 2提示:1 <= n.
2021-12-09 18:22:25
3033
原创 力扣31:下一个排列
**实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列(即,组合出下一个更大的整数)。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须 原地 修改,只允许使用额外常数空间。 示例 1:输入:nums = [1,2,3]输出:[1,3,2]示例 2:输入:nums = [3,2,1]输出:[1,2,3]示例 3:输入:nums = [1,1,5]输出:[1,5,1]示例 4:输入:nums = [1]输出:[1]
2021-12-07 23:06:06
63
原创 分解质因数
基础练习 分解质因数时间限制:1.0s 内存限制:512.0MB问题描述 求出区间[a,b]中所有整数的质因数分解。输入格式 输入两个整数a,b。输出格式 每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例)样例输入3 10样例输出3=34=225=56=237=78=2229=3310=25提示 先筛出所有素数,然后再分解。数据规模和约定 2<=a<=b<=10000
2021-05-19 20:57:04
49
原创 Sine之舞
Sine之舞时间限制:1.0s 内存限制:512.0MB问题描述最近FJ为它的奶牛开设了数学分析课,FJ知道,若要学好这门课,必须有一个好的三角函数基本功。所以他为奶牛们做了一个“Sine之舞”的游戏,寓教于乐,提高奶牛的计算能力。不妨设An=(sin(1-sin(2+sin(3-sin(4+sin(n)…)Sn=(…(A1+n)A2+n-1)A3+…+2)An+1FJ想让奶牛们计算Sn的值,请你们帮助FJ打印出Sn的完整表达式,以方便奶牛们做题。Inpu
2021-05-18 17:22:38
58
原创 FJ的字符串
FJ的字符串基础练习 FJ的字符串时间限制:1.0s 内存限制:512.0MB问题描述 FJ在沙盘上写了这样一些字符串: A1 = “A” A2 = “ABA” A3 = “ABACABA” A4 = “ABACABADABACABA” … … 你能找出其中的规律并写所有的数列AN吗?输入格式 仅有一个数:N ≤ 26。输出格式 请输出相应的字符串AN,以一个换行符结束。输出中不得含有多余的空格或换行、回车符。样例输入3样例输出ABACABA
2021-05-18 13:34:15
468
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人