- 博客(14)
- 收藏
- 关注
原创 199. 二叉树的右视图
题目 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4] 示例 2: 输入: [1,null,3] 输出: [1,3] 示例 3: 输入: [] 输出: [] 提示: 二叉树的节点个数的范围是 [0,100] -100 <= Node.val <= 100 代码 ...
2022-03-10 18:56:44 180
原创 206. 反转链表
题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 代码 struct ListNode* reverseList(struct ListNode* head) { struct ListNode* prev = NULL; struct ListNode* curr = head; while (curr) { struct ListNode* next = curr->next; curr->next = pre
2022-03-10 18:53:47 960
原创 53. 最大子数组和
题目 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 代码 int max(int a, int b){ if(a > b){ return a; } return b; } int maxSubArray(int* nums, int numsSize) { int pre = 0, maxSum = nums[0]; for (int i = 0; i < numsSiz
2022-03-10 18:44:57 67
原创 160. 相交链表
题目 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。 代码 public class Solution { public ListNode getIntersectionNode(ListNode headA, ListNode headB) { Set<ListNode> visited = new HashSet<ListNode>(); List
2022-03-10 18:41:45 231
原创 1. 两数之和
题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入: nums = [2,7,11,15], target = 9 输出: [0,1] 解释: 因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。 示例 2: 输入: nums = [3,2,4], ta
2022-03-10 17:01:47 73
原创 215. 数组中的第K个最大元素
题目 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 示例 2: 输入: [3,2,3,1,2,4,5,5,6] 和 k = 4 输出: 4 提示: 111 <= k <= nums.length <= 10410^4104 −104-10^4−104 <= nums[i] <= 10410^
2022-03-02 03:28:11 121
原创 20. 有效的括号
题目 给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 示例 1: 输入: s = “()” 输出: true 示例 2: 输入: s = “()[]{}” 输出: true 示例 3: 输入: s = “(]” 输出: false 示例 4: 输入: s = “([)]” 输出: false 示例 5 输入: s = “{[]}” 输出: true 提示: 1 &
2022-03-02 02:29:40 143
原创 21. 合并两个有序链表
21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入: l1 = [1,2,4], l2 = [1,3,4] 输出: [1,1,2,3,4,4] 示例 2: 输入: l1 = [], l2 = [] 输出: [] 示例 3: 输入: l1 = [], l2 = [0] 输出: [0] 提示: 两个链表的节点数目范围是 [0, 50] -100 <= Node.val <= 100 l1 和 l2 均按 非递
2022-03-02 02:02:14 58
原创 蓝桥杯-2n皇后问题
题目 问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行、同一列或同一条对角线上,任意的两个白皇后都不在同一行、同一列或同一条对角线上。问总共有多少种放法?n小于等于8。 输入格式 输入的第一行为一个整数n,表示棋盘的大小。 接下来n行,每行n个0或1的整数,如果一个整数为1,表示对应的位置可以放皇后,如果一个整数为0,表示对应的位置不可以放皇后。 输出格式 输出一个整数,表示总共有多少种
2021-08-07 11:28:15 209
原创 蓝桥杯-回形取数
题目 问题描述 回形取数就是沿矩阵的边取数,若当前方向上无数可取或已经取过,则左转90度。一开始位于矩阵左上角,方向向下。 输入格式 输入第一行是两个不超过200的正整数m, n,表示矩阵的行和列。接下来m行每行n个整数,表示这个矩阵。 输出格式 输出只有一行,共mn个数,为输入矩阵回形取数得到的结果。数之间用一个空格分隔,行末不要有多余的空格。 样例输入 3 3 1 2 3 4 5 6 7 8 9 样例输出 1 4 7 8 9 6 3 2 5 样例输入
2021-08-07 01:05:44 174
原创 蓝桥杯-未名湖边的烦恼
问题 问题描述 每年冬天,北大未名湖上都是滑冰的好地方。北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。 每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法) 输入格式 两个整数,表示m和n 输出格式 一个整数,表示队伍的排法的方案数。 数据规模和约定 m,n∈[0,18]
2021-08-05 21:00:50 65
原创 蓝桥杯-矩形面积交
题目 问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。 输入格式 输入仅包含两行,每行描述一个矩形。 在每行中,给出矩形的一对相对顶点的坐标,每个点的坐标都用两个绝对值不超过10^7的实数表示。 输出格式 输出仅包含一个实数,为交的面积,保留到小数后两位。 样例输入 1 1 3 3 2 2 4 4 样例输出 1.00 代码 #include <s
2021-08-05 01:05:05 89
原创 蓝桥杯-龟兔赛跑
题目 问题描述 话说这个世界上有各种各样的兔子和乌龟,但是研究发现,所有的兔子和乌龟都有一个共同的特点——喜欢赛跑。于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔子和乌龟的赛跑。他发现,兔子虽然跑比乌龟快,但它们有众所周知的毛病——骄傲且懒惰,于是在与乌龟的比赛中,一旦任一秒结束后兔子发现自己领先t米或以上,它们就会停下来休息s秒。对于不同的兔子,t,s的数值是不同的,但是所有的乌龟却是一致——它们不到终点决不停止。 然而有些比赛相当漫长,全程观看会耗费
2021-08-05 00:59:33 116
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人