- 博客(39)
- 收藏
- 关注
原创 Leetcode刷题Day 1:判断两个事件是否存在冲突
解题思路:一个事件的开始时间大于另一个事件的结束时间,则两个事件无冲突,否则为冲突事件。当两个事件存在某个非空的交集时(即,某些时刻是两个事件都包含的),则认为出现 冲突。如果两个事件之间存在冲突,返回 true;否则,返回 false。event1 = [startTime1, endTime1] 且。事件的时间为有效的 24 小时制且按 HH:MM 格式给出。
2023-05-17 09:50:16
130
原创 Leetcode编程C++之1704. 判断字符串的两半是否相似
Leetcode编程C++之1704. 判断字符串的两半是否相似两个字符串 相似 的前提是它们都含有相同数目的元音(‘a’,‘e’,‘i’,‘o’,‘u’,‘A’,‘E’,‘I’,‘O’,‘U’)。注意,s 可能同时含有大写和小写字母。给你一个偶数长度的字符串 s。将其拆分成长度相同的两半,前一半为 a ,后一半为 b。如果 a 和 b 相似,返回 true;否则,返回 false。
2022-11-11 15:20:37
431
原创 Leetcode编程C++之764. 最大加号标志
一个 k 阶由 1 组成的 “轴对称”加号标志 具有中心网格 grid[r][c] == 1 ,以及4个从中心向上、向下、向左、向右延伸,长度为 k-1,由 1 组成的臂。注意,只有加号标志的所有网格要求为 1 ,别的网格可能为 0 也可能为 1。在一个 n x n 的矩阵 grid 中,除了在数组 mines 中给出的元素为 0,其他每个元素都为 1。mines[i] = [xi, yi]表示 grid[xi][yi] == 0。返回 grid 中包含 1 的最大的 轴对齐 加号标志的阶数。
2022-11-09 09:45:21
149
原创 Leetcode编程c++之1684. 统计一致字符串的数目
给你一个由不同字符组成的字符串 allowed 和一个字符串数组 words。如果一个字符串的每一个字符都在 allowed 中,就称这个字符串是 一致字符串。请你返回 words 数组中 一致字符串 的数目。
2022-11-08 16:08:00
309
原创 Leetcode编程C++之1678. 设计 Goal 解析器
Leetcode编程C++之1678. 设计 Goal 解析器:command 由 “G”、“()” 和/或 “(al)” 按某种顺序组成。Goal 解析器会将 “G” 解释为字符串 “G”、“()” 解释为字符串 “o” ,“(al)” 解释为字符串 “al”。
2022-11-06 10:30:11
234
原创 Leetcode编程C++之1106. 解析布尔表达式
&(expr1,expr2,…)”,运算过程为对 2 个或以上内部表达式 expr1, expr2, …进行逻辑 与的运算(AND)“|(expr1,expr2,…)”,运算过程为对 2 个或以上内部表达式 expr1, expr2, …进行逻辑 或的运算(OR)给你一个以字符串形式表述的 布尔表达式(boolean) expression,返回该式的运算结果。(expr)”,运算过程为对内部表达式 expr 进行逻辑 非的运算(NOT)“f”,运算结果为 False。“t”,运算结果为 True。
2022-11-05 15:48:05
193
原创 Leetcode编程C++之754. 到达终点数字
第 i 次移动(从 i == 1 开始,到 i == numMoves ),在选择的方向上走 i 步。给定整数 target ,返回 到达目标所需的 最小 移动次数(即最小 numMoves )在一根无限长的数轴上,你站在0的位置。终点在target的位置。每次你可以选择向左或向右移动。
2022-11-04 19:05:44
136
原创 Leetcode编程C语言之1668. 最大重复子字符串
Leetcode编程C语言之1668. 最大重复子字符串:给你一个字符串 sequence ,如果字符串 word 连续重复 k 次形成的字符串是 sequence 的一个子字符串,那么单词 word 的 重复值为 k。单词 word 的 最大重复值 是单词 word 在 sequence 中最大的重复值。如果 word 不是 sequence 的子串,那么重复值 k 为 0。给你一个字符串 sequence 和 word ,请你返回 最大重复值 k。
2022-11-03 10:46:31
197
原创 Leetcode编程之1662. 检查两个字符串数组是否相等
Leetcode编程之1662. 检查两个字符串数组是否相等,python与C++代码:给你两个字符串数组 word1 和 word2。如果两个数组表示的字符串相同,返回 true;否则,返回 false。解题思路:遍历字符串数组,将数组连接成一个字符串;然后对两个字符串进行对比。数组表示的字符串 是由数组中的所有元素 按顺序 连接形成的字符串。
2022-11-01 10:37:52
92
原创 Leetcode编辑C++之481. 神奇字符串
Leetcode编辑C++之481. 神奇字符串:神奇字符串 s 的神奇之处在于,串联字符串中 ‘1’ 和 ‘2’ 的连续出现次数可以生成该字符串。如果将 s 中连续的若干 1 和 2 进行分组,可以得到 "1 22 11 2 1 22 1 22 11 2 11 22 ......" ,给你一个整数 n ,返回在神奇字符串 s 的前 n 个数字中 1 的数目。
2022-10-31 10:45:09
100
原创 Leetcode编程C++之784. 字母大小写全排列
Leetcode编程C++之784. 字母大小写全排列:给定一个字符串 s ,通过将字符串 s 中的每个字母转变大小写,我们可以获得一个新的字符串。解题思路:深度优先遍历,遍历字符串,若遇见字母, 改变大小写形式后,往后继续搜索。返回 所有可能得到的字符串集合。以 任意顺序 返回输出。
2022-10-30 11:04:13
137
原创 leetcode编程C++之1773. 统计匹配检索规则的物品数量
leetcode编程C++之1773. 统计匹配检索规则的物品数量;给你一个数组 items ,其中 items[i] = [typei, colori, namei] ,描述第 i 件物品的类型、颜色以及名称。ruleKey == “color” 且 ruleValue == colori。ruleKey == “type” 且 ruleValue == typei。ruleKey == “name” 且 ruleValue == namei
2022-10-29 11:27:18
282
原创 leetcode编程之907. 子数组的最小值之和
链接:https://leetcode.cn/problems/sum-of-subarray-minimums。给定一个整数数组 arr,找到 min(b) 的总和,其中 b 的范围为 arr 的每个(连续)子数组。由于答案可能很大,因此 返回答案模 10^9 + 7。来源:力扣(LeetCode)
2022-10-28 15:09:45
304
原创 Leetcode编程C语言之1822. 数组元素积的符号
已知函数 signFunc(x) 将会根据 x 的正负返回特定值:如果 x 是正数,返回 1 。如果 x 是负数,返回 -1 。如果 x 是等于 0 ,返回 0 。
2022-10-27 18:47:24
478
原创 Leetcode编程C++之862. 和至少为 K 的最短子数组
给你一个整数数组 nums 和一个整数 k ,找出 nums 中和至少为 k 的 最短非空子数组 ,并返回该子数组的长度。如果不存在这样的 子数组 ,返回 -1。链接:https://leetcode.cn/problems/shortest-subarray-with-sum-at-least-k。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。子数组 是数组中 连续 的一部分。来源:力扣(LeetCode)
2022-10-26 14:43:04
343
原创 Leetcode编程C++之934. 最短的桥
岛 是由四面相连的 1 形成的一个最大组,即不会与非组内的任何其他 1 相连。grid 中 恰好存在两座岛。给你一个大小为 n x n 的二元矩阵 grid ,其中 1 表示陆地,0 表示水域。你可以将任意数量的 0 变为 1 ,以使两座岛连接起来,变成 一座岛。返回必须翻转的 0 的最小数目。
2022-10-24 10:46:15
231
原创 Leetcode编程C++之交替合并字符串
给你两个字符串 word1 和 word2。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。思路:新建字符串,然后交替放字符串进去,如果还有剩余的则放最后面。输入:word1 = “abc”, word2 = “pqr”合并后: a p b q c r。返回 合并后的字符串。输出:“apbqcr”
2022-10-23 11:00:43
460
原创 torch.clamp()函数
torch.clamp()函数torch.clamp(input, min, max, out=None)将输入input张量每个元素的范围限制到区间 [min,max],返回结果到一个新张量。input (Tensor) – 输入张量min (Number) – 限制范围下限max (Number) – 限制范围上限out (Tensor, optional) – 输出张量...
2022-03-17 17:27:27
512
转载 二十二种 transforms 图片数据预处理方法
转载于:https://www.cnblogs.com/zhangxiann/p/13570884.html个人笔记,侵删
2022-02-27 20:02:39
145
转载 matplotlib.imshow() or plt.show()
《Python深度学习》2.2——imshow()函数digit = train_data[4]import matplotlib.pyplot as pltplt.imshow(digit, cmap=plt.cm.binary) #plt.imshow()函数负责对图像进行处理,并显示其格式,但是不能显示。其后跟着plt.show()才能显示出来plt.show()cmap:colormaps,图谱matplotlib.cm(plt.cm)是matplotlib库中内置的色彩映射函数
2021-07-31 16:56:46
337
原创 【C语言 LeetCode 116】填充每个节点的下一个右侧节点指针
广度优先搜索(层次遍历)解决填充每个节点的下一个右侧节点指针题目给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node { int val; struct Node *left; struct Node *right; struct Node *next;};填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 ne
2021-07-13 11:28:08
261
原创 【LeetCode 695】岛屿的最大面积
深度优先搜索求解岛屿的最大面积思路:从二维数组起始位置开始搜索,在遇到其值为1时,搜索其水平或垂直方向,如果为1,则面积加1,遍历该位置同时,将其值修改为0,以免重复搜索;如果为0,则进行回溯。代码:/*********************深度优先搜索代码*********************/void dfs(int **grid, int x, int y, int n, int m, int *len){ if(grid[x][y]) { i
2021-07-12 11:22:11
59
原创 【C语言 leetcode 7】整数反转
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0示例 1:输入:x = 123输出:321示例 2:输入:x = -123输出:-321该题的难点在于需要判断是否溢出,自己刚开始也忽略了这个判断,导致代码执行出错!!!C语言代码如下:int reverse(int x){ int n,i,t=0,max,min; max=pow(2,31)-1;
2021-05-03 21:51:20
231
原创 [C语言 LeetCode 224] 用栈实现基本计算器
实现一个基本的计算器来计算一个简单的字符串表达式 s 的值。示例 1:输入:s = " 2-1 + 2 "输出:3示例2:输入:s="(1+(4+5+2)-3)+(6+8)"输出:23示例3:输入:s=“2147483647”输出:2147483647示例4:输入:s="-2+ 1"输出:-1示例5:输入:s=“1-11”输出:-10C语言计算模块代码如下:#define max 1000int calculate(char * s){ char stack1
2021-03-10 18:46:04
181
原创 [C语言 LeetCode 496] 下一个更大元素 I
给你两个 没有重复元素 的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。请你找出 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出 -1 。示例 1:输入: nums1 = [4,1,2], nums2 = [1,3,4,2].输出: [-1,3,-1]解释:对于 num1 中的数字 4 ,你无法在第二个数组中找到下一个更
2021-03-06 22:00:28
226
1
原创 [C语言 LeetCode 503] 下一个更大元素 II
给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1示例 :输入: [1,2,1]输出: [2,-1,2]解释: 第一个 1 的下一个更大的数是 2;数字 2 找不到下一个更大的数;第二个 1 的下一个最大的数需要循环搜索,结果也是 2。C语言代码如下:int* nextGreaterElements(i
2021-03-06 21:39:54
133
1
原创 [ C语言 LeetCode 117 ] 基于层次遍历算法(非递归)实现填充每个节点的下一个右侧节点指针 II
填充每个节点的下一个右侧节点指针给定一个二叉树typedef struct BTNode { int val; struct BTNode *left; struct BTNode *right; struct BTNode *next;}BTNode;填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。示例:输入:root = [1,2,3,4,
2020-09-28 18:02:23
146
原创 [ C语言 LeetCode 617 ] 合并二叉树的递归算法
617. 合并二叉树给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例 1:输入: Tree 1 Tree 2 1 2
2020-09-27 16:17:49
169
原创 [ C语言 LeetCode 235 ] 二叉搜索树的最近公共祖先非递归算法
给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8输出: 6解释: 节点 2 和节点 8 的最近公
2020-09-27 16:13:38
650
原创 用C语言解决:把二叉搜索(排序)树转换为累加树的问题
给定一个二叉搜索树(Binary Search Tree),把它转换成为累加树(Greater Tree),使得每个节点的值是原来的节点值加上所有大于它的节点值之和例如:输入: 原始二叉搜索树: 2 / \ 0 3 / \ -4 1输出: 转换为累加树: 5 / \ 6 3 / \ 2 6思想:根据二叉排序树的特点,采用右根
2020-09-21 22:38:24
182
原创 [ C语言 LeetCode 404 ] 计算二叉树左叶子之和
计算给定二叉树的所有左叶子之和。示例: 3 / \ 9 20 / \ 15 7在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24计算模块C语言代码:int flag; //定义全局变量,用于判断左右子树标志位int sumOfLeftLeaves(struct TreeNode* root){ int Le,Re; if(root==NULL) return 0; if(flag&am
2020-09-19 16:24:02
454
原创 [C语言 LeetCode 剑指 Offer 53 - II] 0~n-1中缺失的数字
一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。示例 1:输入: [0,1,3]输出: 2示例 2:输入: [0,1,2,3,4,5,6,7,9]输出: 8查找模块C代码:int missingNumber(int* nums, int numsSize){ int i=0; while(i<numsSize&&nums[i]==i)
2020-09-17 16:09:50
111
原创 [ C语言 LeetCode 226 ] 翻转二叉树
翻转一棵二叉树。示例:输入: 5 / \ 7 2 / \ / \ 9 6 3 1输出: 5 / \ 7 2 / \ / \ 9 6 3 1(基于后序遍历)交换子树模块C代码:typedef struct TreeNode { int data; struct TreeNode *left; struct TreeNode *right;}TreeNode;
2020-09-16 16:17:35
183
原创 [C语言 LeetCode 剑指 Offer 20] 表示数值的字符串
实现一个函数用来判断字符串是否表示数值(包括整数和小数)例如:字符串"+100"、“5e2”、"-123"、“3.1416”、"-1E-16"、"0123"等表示数值,“12e”、“1a3.14”、“1.2.3”、"±5"及"12e+5.4"都不是判断是否为数字型字符串模块C代码:bool isNumber(char* s){ int i=0,n=0,k=0,t=0; for(i=0;s[i]==' ';++i); //跳过字符串开头空格 if(s[i]
2020-09-10 16:59:17
174
原创 C语言字符串替换空格
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = “We are happy.”输出:“We%20are%20happy.”char* replaceSpace(char* s){ char *t=(char *)malloc(max*sizeof(char)); int i,j=0; for (i=0;s[i]!='\0';++i) { if(s[i]==' ') { t[j
2020-09-08 22:17:18
661
原创 [C语言 Leetcode 557] 反转字符串中的单词
char * reverseWords(char * s){ int i,j,k,t,n=0; for(i=0;s[i]!='\0';++i) { if(s[i]!=' ') ++n; else { j=i-n; k=i-1; n=0; while(j<k) {
2020-08-30 22:31:46
306
原创 [C语言 LeetCode657] 机器人是否能够回原点
C语言:机器人是否能够回原点在二维平面上,有一个机器人从原点 (0, 0) 开始。给出它的移动顺序,判断这个机器人在完成移动后是否在 (0, 0) 处结束。移动顺序由字符串表示。字符 move[i] 表示其第 i 次移动。机器人的有效动作有 R(右),L(左),U(上)和 D(下)。如果机器人在完成所有动作后返回原点,则返回 true。否则,返回 false示例 1:输入: “UD”输出: true示例 2:输入: “LL”输出: falsebool judgeCircle(char *
2020-08-28 16:35:02
110
原创 [LeecCode 201 C语言] 暴力方式解决给定数字范围按位与问题
数字范围按位与:暴力方式代码给定范围 [m, n],其中 0 <= m <= n <= 2147483647返回此范围内所有数字的按位与(包含 m, n 两端点)示例 1:输入: [5,7]输出:示例 2:输入: [0,1]输出: 0C语言:按位与运算模块程序代码:int rangeBitwiseAnd(int m, int n){ int i=m; //记录初始m值 while(i<n)
2020-08-23 16:24:01
130
原创 二叉树最小深度非递归算法
给定一个二叉树,找出其最小深度(最小深度是从根节点到最近叶子节点的最短路径上的节点数量)示例:给定二叉树 [3,9,20,null,null,15,7], 7 / \ 9 6 / \ 15 8 它的最小深度为2. typedef struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right;}int minDepth(TreeNod
2020-08-21 17:22:54
408
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人