自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 1185. 一周中的第几天(2022.01.03)

给你一个日期,请你设计一个算法来判断它是对应一周中的哪一天。输入为三个整数:day、month 和year,分别表示日、月、年。您返回的结果必须是这几个值中的一个{"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}。示例 1:输入:day = 31, month = 8, year = 2019输出:"Saturday"示例 2:输入:day = 18, month = 7..

2022-01-03 09:46:47 118

原创 390.消除游戏(2022.01.02签到题)

列表 arr 由在范围 [1, n] 中的所有整数组成,并按严格递增排序。请你对 arr 应用下述算法:从左到右,删除第一个数字,然后每隔一个数字删除一个,直到到达列表末尾。重复上面的步骤,但这次是从右到左。也就是,删除最右侧的数字,然后剩下的数字每隔一个删除一个。不断重复这两步,从左到右和从右到左交替进行,直到只剩下一个数字。给你整数 n ,返回 arr 最后剩下的数字。示例 1:输入:n = 9输出:6解释:arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]ar

2022-01-02 19:39:53 2331

原创 2022. 将一维数组转变成二维数组(2022.01.01签到题)

给你一个下标从 0开始的一维整数数组original和两个整数m和n。你需要使用original中所有元素创建一个m行n列的二维数组。original中下标从 0到 n - 1(都 包含 )的元素构成二维数组的第一行,下标从 n到 2 * n - 1(都 包含)的元素构成二维数组的第二行,依此类推。请你根据上述过程返回一个m x n的二维数组。如果无法构成这样的二维数组,请你返回一个空的二维数组。示例 1:输入:original = [1...

2022-01-01 15:10:47 124

原创 507. 完美数(2021.12.31签到题)

对于一个 正整数,如果它和除了它自身以外的所有 正因子 之和相等,我们称它为 「完美数」。给定一个 整数 n, 如果是完美数,返回 true,否则返回 false示例 1:输入:num = 28输出:true解释:28 = 1 + 2 + 4 + 7 + 141, 2, 4, 7, 和 14 是 28 的所有正因子。示例 2:输入:num = 6输出:true示例 3:输入:num = 496输出:true示例 4:输入:num = 8128输出:true示例

2021-12-31 17:53:09 91

原创 已知中序、后序,求先序

题目描述给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度≤8)。输入格式2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。输出格式1行,表示一棵二叉树的先序。输入输出样例输入BADCBDCA输出ABCD#include <iostream>#include <cstring>using namespace std;void preorder(string inord..

2021-12-30 15:07:33 1194

原创 846. 一手顺子(2021.12.30 签到题)

Alice 手中有一把牌,她想要重新排列这些牌,分成若干组,使每一组的牌数都是 groupSize ,并且由 groupSize 张连续的牌组成。给你一个整数数组 hand 其中 hand[i] 是写在第 i 张牌,和一个整数 groupSize 。如果她可能重新排列这些牌,返回 true ;否则,返回 false 。示例 1:输入:hand = [1,2,3,6,2,3,4,7,8], groupSize = 3输出:true解释:Alice 手中的牌可以被重新排列为 [1,2,3],

2021-12-30 14:10:09 78

原创 104. 二叉树的最大深度

给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度3 。// 递归class Solution {public: int maxdeep(TreeNode* root, int deep) { if(root == nu...

2021-12-29 20:34:00 352

原创 101. 对称二叉树

给定一个二叉树,检查它是否是镜像对称的。例如,二叉树[1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2/ \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3// 迭代class Solution {public: bool check(TreeNode* q, TreeNode* p) { ...

2021-12-29 15:36:25 67

原创 100. 相同的树

给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入:p = [1,2,3], q = [1,2,3]输出:true示例 2:输入:p = [1,2], q = [1,null,2]输出:false示例 3:输入:p = [1,2,1], q = [1,1,2]输出:false提示:两棵树上的节点数目都在范围 [0, 100] 内-10^4<= ..

2021-12-29 14:49:15 221

原创 145. 二叉树的后序遍历

给定一个二叉树,返回它的 后序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [3,2,1]class Solution {public: void postorder(TreeNode * root, vector<int> &res) { if(!root) return; postorder(root->left, res); po...

2021-12-28 22:50:28 220

原创 144. 二叉树的前序遍历

给你二叉树的根节点root,返回它节点值的前序遍历。示例 1:输入:root = [1,null,2,3]输出:[1,2,3]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]示例 4:输入:root = [1,2]输出:[1,2]示例 5:输入:root = [1,null,2]输出:[1,2]提示:树中节点数目在范围[0, 100]内 -100 &...

2021-12-28 22:26:20 87

原创 94. 二叉树的中序遍历

给定一个二叉树的根节点root,返回它的中序遍历。示例 1:输入:root = [1,null,2,3]输出:[1,3,2]示例 2:输入:root = []输出:[]示例 3:输入:root = [1]输出:[1]示例 4:输入:root = [1,2]输出:[2,1]示例 5:输入:root = [1,null,2]输出:[1,2]提示:树中节点数目在范围[0, 100]内 -100 &l...

2021-12-28 22:21:27 269

原创 53. Maximum Subarray

Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum.A subarray is a contiguous part of an array.Example 1:Input: nums = [-2,1,-3,4,-1,2,1,-5,4]Output: 6Explanatio

2021-12-28 22:06:16 3296

原创 PTA 7-12 旅游规划 (25 分)

有了一张自驾旅游路线图,你会知道城市间的高速公路长度、以及该公路要收取的过路费。现在需要你写一个程序,帮助前来咨询的游客找一条出发地和目的地之间的最短路径。如果有若干条路径都是最短的,那么需要输出最便宜的一条路径。输入格式:输入说明:输入数据的第1行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0~(N−1);M是高速公路的条数;S是出发地的城市编号;D是目的地的城市编号。随后的M行中,每行给出一条高速公路的信息,分别是:城市1、城市2、高速公路长度、收费额

2021-12-28 12:50:26 144

原创 ssprintf 和 sscanf 以及一些其他的字符串处理的函数

1、ssprintf、sscanf用头文件 <cstdio>ssprintf:sprintf的作用是将一个格式化的字符串输出到一个目的字符串中,而printf是将一个格式化的字符串输出到屏幕。sprintf的第一个参数应该是目的字符串,如果不指定这个参数,执行过程中出现 "该程序产生非法操作,即将被关闭...."的提示。格式:ssprintf(字符串,“格式控制符”,数据);sscanf:sscanf()会将参数str 的字符串根据参数format(格式化字符串)..

2021-12-23 09:09:03 784

原创 优先队列~~

这几天一直遇到优先队列的题目,刚开始感觉挺难的,但是后面多做了几题,发现,其实简单的说,优先队列就是对一个队列进行排序(时刻), emmm, 本人的资历较浅,可能下面所描述的有所错误,还请见谅与批评指正!由于C++ 中 就有优先队列这个函数,所以我们直接用就行了:STL里的优先队列:priority_queue;如果我们想让这个队列实现从小到大排序,我们可以这样操作:priority_queue<int, vector<int>, greater<int> &g

2021-12-23 09:08:52 863

原创 并查集之基本原理

基本问题:1、将两个集合合并2、询问两个元素是否在一个集合当中基本原理: 每个集合用一颗数来表示(不一定是二叉树)。树根的编号就是整个集合的编号。每个节点存储它的父节点,p[x]表示x的父节点。问题1:如何判断树根? A:if(p[x] == x)问题2:如何求x的集合编号? while(p[x] != x) x = p[x];问题3:如何合并两个集合? p[x]是x的集合编号,p[y]是y的集合编号。p[p[x]] = p[y];(这里也就是说 把其中一颗数的...

2021-12-23 09:08:31 384

原创 算法竞赛-代码模板

吃得苦中苦方为人上人~

2021-12-19 23:32:27 184

原创 杂题题解~~

杂题题解1、单词翻转2、导弹拦截3、N皇后问题(dfs)4、迷宫问题1、单词翻转#include <iostream>#include <cstring>using namespace std;const int N = 510;char s[N];int main(){ gets(s); int len = strlen(s), sum = 0; s[len] = ' '; for(int i = 0; i <= len; i++) { if

2021-11-06 13:03:44 910 6

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除