自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Leetcode-1702-修改后的最大二进制字符串-c++

题目详见。

2024-04-10 21:54:38 240

原创 Leetcode-2009-使数组连续的最少操作数-c++

题目详见。

2024-04-09 22:49:37 393

原创 Leetcode-1483-树节点的第 K 个祖先-c++

官方给的用例我并不是很喜欢,因为他并没有让我们很好的理解这个函数,因为他返回-1。我的用例如下:// 是一个四层的满二叉树,ancestors数组如下:[-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], // 0号节点[0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], // 1号节点。

2024-04-07 10:27:53 1073

原创 Leetcode-1026-节点与其祖先之间的最大差值-c++

题目详见本题比较简单,所以没啥需要补充的。

2024-04-05 21:05:07 272

原创 Leetcode-894-所有可能的真二叉树-c++

此处偶数位为空, // dp[0]此处偶数位为空, // dp[2]{[0,0,0]}, // dp[3], 这里不要数数组的长度,而要数节点(0)的个数此处偶数位为空,此处偶数位为空,大家可以试试使用dpa0这是个节点dpbdp[a] + 0(这是个节点) + dp[b]dpa0这是个节点dpb来拼dpab1dp[a+b+1]dpab1比如使用dp10这是个节点dp5。

2024-04-03 22:43:18 686

原创 Leetcode-1379-找出克隆二叉树中的相同节点-c++

题目详见。

2024-04-03 22:18:51 339

原创 Leetcode-2810-故障键盘-c++

题目详见。

2024-04-01 22:57:22 371

原创 Leetcode-2952-需要添加的硬币的最小数量-c++

题目详见。

2024-03-30 19:17:41 733

原创 Leetcode-2908-元素和最小的山形三元组 I-c++

笔者也在新手学习期中,所写的内容主要与大家交流学习使用,如有发现任何问题敬请指正!

2024-03-29 21:02:28 160

原创 Leetcode-1997-访问完所有房间的第一天-c++

题目详见tonextvisiti第一次到i之后回退到的位置fi从奇数次到i到奇数次到i1所需要的天数dpi从0号房间出发到i1号房间所需要的天数首次到第i+1个房间dpiiiTdpi−1inextVisitiT1nextVisiti−1iTdpi−1−dpnextvisiti−1]]iii1T1综上dpidpi−11dp。

2024-03-28 21:23:47 631

原创 Leetcode-2580-统计将重叠区间合并成组的方案数-c++

题目详见题目要求将最后的ranges分为两个组。也就是说当你的ranges已经满足题目要求的时候,这两个组怎么分是随意的,这里也就引出了2k的由来,其实就是每组都有2种不同的选择(取,不取)然后取k次。

2024-03-27 12:06:47 291

原创 Leetcode-2642-设计可以求最短路径的图类-c++

题目详见。

2024-03-26 22:01:38 287

原创 Leetcode-2583-二叉树中的第 K 大层和-c++

题目详见读完最开始的题目描述一直无感,直到读到了最后那句:如果两个节点与根节点的距离相同,则认为它们在同一层恍然大悟原来是广度优先,就类似走一个金字塔形状的迷宫从塔尖开始走,走到最后也就遍历到了所有的结点,在这个过程中也就记录了需要的信息。

2024-02-23 22:56:43 152

原创 Leetcode-889-根据前序和后序遍历构造二叉树-c++

题目详见。

2024-02-23 00:07:59 156

原创 Leetcode-106-从中序与后序遍历序列构造二叉树-c++

题目详见。

2024-02-21 22:16:58 164

原创 Leetcode-105-从前序与中序遍历序列构造二叉树-c++

因此const引用的目的是:禁止通过修改引用值来改变被引用的对象,但是这好像对这里没什么帮助,我们还是不明白为什么这里要对引用添加const修饰。于是我在Leetcode上进行实验,但是很遗憾,每次运行的时间飘忽不定,可能会忽高忽低,所以这里没法真正的去验证一下,如果谁有高见欢迎评论区交流。注意该函数声明,对preorder以及inorder传递的是引用,但是使用const进行了修饰,这里给人的感觉就很奇怪,顺手搜了一下果然有说法。A.先序遍历序列和后序遍历序列。C.先序遍历序列和层序遍历序列。

2024-02-20 21:18:55 452

原创 Leetcode-590-N叉树的后序遍历-c++

我们可以看到它给了一个1,然后后面的话是一个空指针。这说明1这一层就结束了。然后后面紧跟着2345。然后是空指针就表明2345是1的孩子。然后注意这里有连着的两个空指针,此时第二个空指针实际上是第二个节点2的孩子,也就表明第二个节点没有孩子。然后是67,表明他们是3的孩子,然后是一个空指针,就表明3的孩子结束,然后到了8,8是4的孩子,然后又一个空指针表明4的孩子结束。然后是9 10,然后又一个空指针,表明5的孩子结束。然后这里有两个空指针,第二个空指针就表明6没有孩子,也就是6的孩子是空指针,以此类推。

2024-02-19 22:40:20 383 1

原创 Leetcode-2670-找出不同元素数目差数组-c++

题目链接。

2024-01-31 11:47:31 215

原创 Python-xml.etree.ElementTree-读取速度过慢-lxml-cElementTree-提速

【代码】Python-xml.etree.ElementTree-读取速度过慢-lxml-cElementTree-提速。

2024-01-31 11:29:06 165

原创 leetcode-2808-使循环数组所有元素相等的最少秒数-c++

题目地址。

2024-01-30 15:58:18 119 1

原创 Pytorch多optimizer进行backward报错,适用于多优化器

出现报错 RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation。backward完全部,再step全部。

2023-12-12 14:45:58 78

原创 LeetCode-力扣-1790-仅执行一次字符串交换能否使两个字符串相等(带我的代码与官方代码对比)-c++

给你长度相等的两个字符串 s1 和 s2。一次 字符串交换操作的步骤如下:选出某个字符串中的两个下标(不必不同),并交换这两个下标所对应的字符。如果对 其中一个字符串 执行 最多一次字符串交换 就可以使两个字符串相等,返回 true;否则,返回 false。示例 1: 输入:s1 = “bank”, s2 = “kanb”输出:true解释:例如,交换 s2 中的第一个和最后一个字符可以得到"bank"示例 2: 输入:s1 = “attack”, s2 = “defend”

2022-10-11 15:07:30 123

原创 LeetCode-力扣-801-使序列递增的最小交换次数(带题解)-c++

我们有两个长度相等且不为空的整型数组 nums1 和 nums2。在一次操作中,我们可以交换 nums1[i] 和nums2[i]的元素。例如,如果 nums1 = [1,2,3,8] , nums2 =[5,6,7,4] ,你可以交换 i = 3 处的元素,得到 nums1=[1,2,3,4] 和 nums2 =[5,6,7,8]。返回 使 nums1 和 nums2 严格递增 所需操作的最小次数。

2022-10-11 10:37:46 253

原创 LeetCode-力扣-856-括号的分数-c++

给定一个平衡括号字符串 S,按下述规则计算该字符串的分数:( ) 得 1 分。AB 得 A + B 分,其中 A 和 B 是平衡括号字符串。(A) 得 2 * A 分,其中 A 是平衡括号字符串。

2022-10-09 16:58:12 272

原创 LeetCode-力扣-870-优势洗牌-c++

给定两个大小相等的数组 nums1 和 nums2,nums1 相对于 nums2 的优势可以用满足 nums1[i] > nums2[i]的索引 i 的数目来描述。返回 nums1 的任意排列,使其相对于 nums2 的优势最大化。

2022-10-08 16:48:23 335 1

原创 1011 A+B 和 C, PAT (Basic Level) 数据类型考察

1011 A+B 和 C题目描述输入格式:输入第 1 行给出正整数 T (≤10),是测试用例的个数。随后给出 T 组测试用例,每组占一行,顺序给出 A、B 和 C。整数间以空格分隔。输出格式:对每组测试用例,在一行中输出 Case #X: true 如果 A+B>C,否则输出 Case #X: false,其中 X 是测试用例的编号(从 1 开始)。输入样例:41 2 32 3 42147483647 0 21474836460 -2147483648 -21474

2021-09-22 10:47:04 65

原创 1009 说反话 PAT (Basic Level) 题解 字符串数组求解

1009 说反话给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式: 测试输入包含一个测试用例,在一行内给出总长度不超过 80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1个空格分开,输入保证句子末尾没有多余的空格。输出格式: 每个测试用例的输出占一行,输出倒序后的句子。输入样例:Hello World Here I Come输出样例:Come I Here World Hello解题思路将输入的句子按照空格

2021-09-15 20:22:32 84

转载 Visual Studio 2019配置OpenGL环境

1. 首先下载OpenGL库文件http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip点击蓝色字体会自动下载下载后解压得到如图5个文件。根据后缀名,分为 .dll; .h; .lib 三类。这个东西确实是上个世纪的产物,原生版本98年后就不再更新了。2. 将文件分类放置到指定文件夹找到目录 \Microsoft VisualStudio\2019\Community\VC\Tools\MSVC\14.24.28

2021-09-13 21:31:08 680

原创 1008 数组元素循环右移问题 PAT (Basic Level) 堆栈自找麻烦法

数组元素循环右移问题输入样例:6 21 2 3 4 5 6结尾无空行输出样例:5 6 1 2 3 4结尾无空行思路:这可能更是一道考验输出的题目,在一个数组中完成相应的循环右移过于困难,但是如果我们将这道题看成一道输出格式的题目就迎刃而解了。为了学着用堆栈,故意给自己增加麻烦,使用堆栈进行输出。代码如下#include<iostream>#include<stack>using namespace std;int main() { int n

2021-09-12 10:30:09 52

原创 1007 素数对猜想 PAT (Basic Level) 省时小技巧与简单解法

1007 素数对猜想输入样例:20结尾无空行输出样例:4结尾无空行思路:1、可以采用先输出素数表,然后对每两个相邻素数进行做差比较并记录素数对个数。2、(本文章所采用的思路)在对输入数字进行递减的同时判断其本身是否为素数,如果是,在判断比其大2的数字是否为素数,如果是则素数对的个数+1;省时的方法:主要是这段判断代码的写法if (isprime(n) && isprime(n + 2)) {//同时判断两个数字,绝大多数数字经过了两次判断 count++;/

2021-09-11 15:49:58 67

原创 1006 换个格式输出整数 (15 分) PAT (Basic Level) C++ String类求解

1006 换个格式输出整数让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12…n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。输入格式:每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。输出格式:每个测试用例的输出占一行,用规定的格式输出 n。输入样例 1:234结尾无空行输出样例 1:BBSSS1234结尾

2021-09-10 11:20:11 84 1

原创 1005 继续(3n+1)猜想 (25 分) PAT (Basic Level) c++解法

1005 继续(3n+1)猜想卡拉兹(Callatz)猜想已经在1001中给出了描述。在这个题目里,情况稍微有些复杂。当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数。例如对 n=3 进行验证的时候,我们需要计算3、5、8、4、2、1,则当我们对 n=5、8、4、2 进行验证的时候,就可以直接判定卡拉兹猜想的真伪,而不需要重复计算,因为这 4个数已经在验证3的时候遇到过了,我们称 5、8、4、2 是被 3“覆盖”的数。我们称一个数列中的某个数 n 为“关键数”,如果 n

2021-09-10 10:30:47 61

原创 PTA The Kth Largest X in BST(找X元素在BST二叉搜索树中是第几大元素)

PTA The Kth Largest X in BST(找X元素在BST二叉搜索树中是第几大元素)Given a binary search tree T, you are supposed to find the node with key value X, and return K if X is the K-th largest key.Format of function:int KthLargest ( BinTree T, int X );where BinTree is defin

2020-11-27 18:02:08 2159 1

原创 PTA_删除单链表偶数节点(简单的双指针)(图解)

本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中偶数值的结点删除。链表结点定义如下:struct ListNode { int data; struct ListNode *next;};

2020-10-12 19:56:08 378

原创 PTA删除重复字符

应用ASCII码可开一个127的int数组,没出现一次相应的ASCII码对应的数组位置加一,最后从头输出不为零的数组位置的十进制数对应的ASCII码即可。#include<stdio.h>int main() { char s[100];//读入字符串 int s1[140] = { 0 };//用来存储每一个ASCII码对应出现的次数,要提前赋值为零。 gets(s);/...

2020-03-12 22:32:48 1838

原创 (C语言)洛谷P2141 【珠心算测验】题解

这个办法有点暴力,而且有些地方似乎有些多余,但比较洛谷中的题解或许有不同之处。#include<stdio.h>int main() { int s[100];//收取系统给出的数字 int g[100] = { 0 };//统计s中每个数字被组成的次数,开始记作零次 int n; int times = 0; scanf("%d", &n); for (int...

2020-02-29 17:16:32 900

空空如也

空空如也

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

TA关注的人

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