
在线OJ
文章平均质量分 93
ZIYE_190
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
每日刷题记录(十七)
用head表示原始链表的头节点,新的链表的第二个节点,用newHead表示新的链表的头节点,原始链表的第二个节点,则原始链表中的其余节点的头节点是newHead.next。例如,当S=“abc"时,考虑字母 “a”, “b”, “c”,初始令 ans=[”"],依次更新 ans = [“a”, “A”],ans=[“ab”, “Ab”, “aB”, “AB”], ans=[“abc”,“Abc”, “aBc”, “ABc”, “abC”, “AbC”, “aBC”, “ABC”]。返回 已排序的字符串。原创 2023-04-22 16:21:44 · 2348 阅读 · 0 评论 -
每日刷题记录(十六)
本题为简单的动态规划问题,动态规划转移方程:arr(i, j) = arr(i-1, j) + arr(i, j-1),先将arr[i][0]和arr[0][j]初始化为1,然后根据转移方程求得arr[i][j],返回arr[m-1][n-1]由于每一步只能移动到下一行「相邻的节点」上,因此要想走到位置 (i,j) ,上一步就只能在位置 (i−1,j−1) 或者位置 (i−1,j)。最终的答案即为 f[n-1][0] 到 f[n−1][n−1] 中的最小值,其中 n 是三角形的行数。原创 2023-04-17 17:13:52 · 999 阅读 · 1 评论 -
每日刷题记录(十五)
我们的目标是到达数组的最后一个位置,因此我们可以先找最后一步跳跃前所在的位置,该位置通过跳跃能够到达最后一个位置,该位置的条件为i+nums[i] > nums.length-1,然后继续找最后一步跳跃前所在的位置,直到找到数组的开始位置。在[1,9]范围内使用4个不同的数字,我们可以得到的最小和是1+2+3+4 = 10,因为10 > 1,没有有效的组合。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。输出: [[1,2,6], [1,3,5], [2,3,4]]原创 2023-04-16 15:53:42 · 1931 阅读 · 3 评论 -
每日刷题记录(一)
描述计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)输入一行,代表要计算的字符串,非空,长度小于5000。输出一个整数,表示输入字符串最后一个单词的长度。示例1输入: hello nowcoder 输出: 8说明:最后一个单词为nowcoder,长度为8。原创 2023-03-19 20:12:03 · 163 阅读 · 0 评论 -
每日刷题记录(二)
给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点。输入:head = [1,2,6,3,4,5,6], val = 6。输入:l1 = [1,2,4], l2 = [1,3,4]输入:head = [7,7,7,7], val = 7。输入:head = [1,2,3,4,5,6]输入:head = [1,2,3,4,5]输入:head = [1,2,3,4,5]输出:[1,1,2,3,4,4]原创 2023-03-22 14:05:58 · 477 阅读 · 0 评论 -
每日刷题(三)
从各自的表头开始算起,链表 A 为 [4,1,8,4,5],链表 B 为 [5,6,1,8,4,5]。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。输入:intersectVal = 8, listA = [4,1,8,4,5], listB = [5,6,1,8,4,5], skipA= 2, skipB = 3。输入:intersectVal = 2, listA = [1,9,1,2,4], listB = [3,2,4], skipA = 3,skipB = 1。原创 2023-03-23 16:28:42 · 104 阅读 · 0 评论 -
每日刷题(四)
说明:由于是[1,2,3,4,5]的压入顺序,[4,3,5,1,2]的弹出顺序,要求4,3,5必须在1,2前压入,且1,2不能弹出,但是这样压入的顺序,1又不能在2之前弹出,所以无法形成的,返回false。输入: [“MinStack”,“push”,“push”,“push”,“getMin”,“pop”,“top”,“getMin”] [[],[-2],[0],[-3],[],[],[],[]]输入: [1,2,3,4,5],[4,5,3,2,1]输入: [1,2,3,4,5],[4,3,5,1,2]原创 2023-03-25 14:47:30 · 387 阅读 · 0 评论 -
每日刷题(五)
输入: [“RecentCounter”, “ping”, “ping”, “ping”, “ping”] [[], [1], [100], [3001], [3002]]输入: [“MyStack”, “push”, “push”, “top”, “pop”, “empty”] [[], [1], [2], [], [], []]// requests = [1, 100, 3001,3002],范围是 [2,3002],返回 3。// 返回 2 myStack.pop();原创 2023-03-25 14:58:55 · 98 阅读 · 0 评论 -
每日刷题(六)
给你二叉树的根节点 root ,返回其节点值的 层序遍历。输入:root = [3,9,20,null,null,15,7]给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历。给定一个二叉树的根节点 root ,返回 它的 中序 遍历。给定二叉树 [3,9,20,null,null,15,7],二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。输入:root = [1,null,2,3]输入:root = [1,null,2,3]输出:[[3],[9,20],[15,7]]原创 2023-03-26 13:59:51 · 89 阅读 · 0 评论 -
每日刷题(七)
构造一个递归函数,通过「同步移动」两个指针的方法来遍历这棵树,p 指针和 q 指针一开始都指向这棵树的根,随后 p 右移时,q 左移,p 左移时,q 右移。否则,返回 false。输入:root = [3,4,5,1,2,null,null,null,null,0], subRoot = [4,1,2]输入:root = [3,4,5,1,2], subRoot = [4,1,2]输入:root = [1,2,2,3,3,null,null,4,4]输入:p = [1,2,1], q = [1,1,2]原创 2023-03-27 13:42:00 · 91 阅读 · 0 评论 -
每日刷题(八)
输入:root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1。输入:root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 4。输入: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]输入:inorder = [9,3,15,20,7], postorder = [9,15,7,20,3]原创 2023-03-27 17:44:35 · 128 阅读 · 0 评论 -
每日刷题记录(九)
新节点的 next 指针和 random 指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。返回复制链表的头节点。: “the”, “is”, “sunny” 和 “day” 是出现次数最多的四个单词,出现次数依次为 4, 3, 2 和 1 次。给你一个长度为 n 的链表,每个节点包含一个额外增加的随机指针 random ,该指针可以指向链表中的任何节点或空节点。输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]]原创 2023-03-29 20:59:19 · 481 阅读 · 0 评论 -
每日刷题记录(十)
牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。如样例所示,牛牛可以把数组A划分为[1,2,3]和[2,2,1]两个排序子序列,至少需要划分为2个排序子序列,所以输出2。team1:{2,5,8}, team2:{1,5,5}, 这时候水平值总和为10.team1:{1,2,5}, team2:{5,5,8}, 这时候水平值总和为7.原创 2023-04-05 16:47:04 · 694 阅读 · 0 评论 -
每日刷题记录(十一)
给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根,小易想知道最多可以放多少块蛋糕在网格盒子里。例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3。输入: [1,2,3,2,2,2,5,4,2]原创 2023-04-08 14:04:15 · 881 阅读 · 0 评论 -
每日刷题记录(十二)
因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, …给你一个N,你想让其变为一个Fibonacci数,每一步你可以把当前数字X变为X-1或者X+1,现在给你一个数N求最少需要多少步可以变为Fibonacci数。输入第一行为字符串个数n(n ≤ 100) 接下来的n行,每行一个字符串,字符串长度均小于100,均由小写字母组成。正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。输出A和B的最小公倍数。原创 2023-04-09 21:29:20 · 1196 阅读 · 0 评论 -
每日刷题记录(十三)
由于该密码包含大小写字母、数字和符号,所以奖励部分得5分,经统计得该密码的密码强度为25+20+20+25+5=95分。给定一个二维数组board,代表棋盘,其中元素为1的代表是当前玩家的棋子,0表示没有棋子,-1代表是对方玩家的棋子。请计算n*m的棋盘格子(n为横向的格子数,m为竖向的格子数)从棋盘左上角出发沿着边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。对长度,字母,数字,符号单独判断,最后把所有的单项值根据题目要求相加,输出对应的安全级别。原创 2023-04-10 15:16:15 · 645 阅读 · 0 评论 -
每日刷题记录(十四)
输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]假如 n=4, k=2 ,即要在 [1, 2, 3, 4] 中求 2 个数的组合。原创 2023-04-12 10:57:01 · 975 阅读 · 0 评论