自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言基础:int **是什么? 二维数组指针!

int **是什么? 二维数组指针!1、 我们在百度搜索已经知道了,动态指针创建一维数组的方式。如int *pointer =(int *)malloc(sizeof(int)*有几个数)。 它的本质意为,在内存空间中,创建一块连续的存储空间。如下图所示2、我们这时候拓展一下思维,按照高中函数思想。把*p令成X。那么int * X的意思是什么呢? 意为:在空间之中申请连续的n个X内存块。这X内存块指向1中的空间C Language,Garbage Language,其实这个定义顺序导致很绕

2021-01-18 01:54:34 3573 1

原创 蓝桥杯2020年真题:BST插入节点问题

BST插入节点问题题目 时间限制: 1.0s 内存限制: 512.0MB 本题总分:25 分【问题描述】 给定一棵包含 N 个节点的二叉树,节点编号是 1 ∼ N。其中 i 号节点具有 权值 Wi,并且这些节点的权值恰好形成了一棵排序二叉树 (BST)。 现在给定一个节点编号 K,小明想知道,在这 N 个权值以外,有多少个整 数 X (即 X 不等于任何 Wi ) 满足:给编号为 K 的节点增加一个权值为 X 的子 节点,仍可以得到一棵 BST。 例如在下图中,括号外的数字表示编号、括号内

2020-10-14 13:09:43 568 3

原创 一维前缀和 线段树

一维前缀和题目http://oj.hzjingma.com/p/38?view=classic思路线段树代码package 线段树;import java.util.*;public class 一维前缀和2 { static int[] list; static int[] tree; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.ne

2020-09-06 10:39:54 156

原创 算法 快速排序 代码详解

快速排序问题分析所谓排序,是指在一个数据集合内

2020-09-05 23:11:08 188

原创 LeetCode 647. 回文子串

LeetCode 647. 回文子串题目 647. 回文子串给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。 示例 1:输入:"abc"输出:3解释:三个回文子串: "a", "b", "c"示例 2:输入:"aaa"输出:6解释:6个回文子串: "a", "a", "a", "aa", "aa", "aaa"思路暴力就完事,马拉车这辈子都用不上的。中心扩展思路,因为可能从一

2020-08-19 13:30:45 152

原创 LeetCode 110.平衡二叉树

LeetCode 110.平衡二叉树题目110. 平衡二叉树给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例 1:给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7返回 true 。示例 2:给定二叉树 [1,2,2,3,3,null,null,4,4] 1 / \

2020-08-17 20:10:58 103

原创 LeetCode 733. 图像渲染

LeetCode 733. 图像渲染题目 733. 图像渲染有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间。给你一个坐标 (sr, sc) 表示图像渲染开始的像素值(行 ,列)和一个新的颜色值 newColor,让你重新上色这幅图像。为了完成上色工作,从初始坐标开始,记录初始坐标的上下左右四个方向上像素值与初始坐标相同的相连像素点,接着再记录这四个方向上符合条件的像素点与他们对应四个方向上像素值与初始坐标相同的相连像素点,……,重复该过程。将

2020-08-16 22:24:54 68

原创 LeetCode 133. 克隆图

LeetCode 133. 克隆图题目133. 克隆图给你无向 连通 图中一个节点的引用,请你返回该图的 深拷贝(克隆)。图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node])。class Node { public int val; public List<Node> neighbors;} 测试用例格式:简单起见,每个节点的值都和它的索引相同。例如,第一个节点值为 1(val = 1),第二个节点值为 2(val = 2

2020-08-12 23:01:35 125

原创 LeetCode 99. 恢复二叉搜索树

LeetCode 99. 恢复二叉搜索树题目99. 恢复二叉搜索树二叉搜索树中的两个节点被错误地交换。请在不改变其结构的情况下,恢复这棵树。示例 1:输入: [1,3,null,null,2] 1 / 3 \ 2输出: [3,1,null,null,2] 3 / 1 \ 2示例 2:输入: [3,1,4,null,null,2] 3 / \1 4 / 2输出: [2,1,4,null,null,3]

2020-08-09 01:18:14 606

原创 LeetCode 100. 相同的树

LeetCode 100. 相同的树题目给定两个二叉树,编写一个函数来检验它们是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。示例 1:输入: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入: 1 1 / \

2020-08-07 23:20:44 142

原创 LeetCode 632. 最小区间

LeetCode 632. 最小区间題目 632. 最小区间你有 k 个升序排列的整数数组。找到一个最小区间,使得 k 个列表中的每个列表至少有一个数包含在其中。我们定义如果 b-a < d-c 或者在 b-a == d-c 时 a < c,则区间 [a,b] 比 [c,d] 小。示例 1:输入:[[4,10,15,24,26], [0,9,12,20], [5,18,22,30]]输出: [20,24]解释: 列表 1:[4, 10, 15, 24, 26],24 在区

2020-08-02 01:14:52 242

原创 LeetCode 415. 字符串相加

LeetCode 415. 字符串相加题目415. 字符串相加给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。 注意: num1 和num2 的长度都小于 5100.num1 和num2 都只包含数字 0-9.num1 和num2 都不包含任何前导零。你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式。思路模拟加法,从后面相加,用字符串存储,因为从后面加可以避免掉处理长度不一的特殊情况代码class Solution {

2020-07-31 10:03:01 93

原创 LeetCode 36. 有效的数独

LeetCode 36. 有效的数独题目 36. 有效的数独判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。上图是一个部分填充的有效的数独。数独部分空格内已填入了数字,空白格用 '.' 表示。示例 1:输入:[ ["5","3",".",".","7",".",".",".","."], ["6

2020-07-30 17:14:31 236

原创 LeetCode 343. 整数拆分 DP

LeetCode 343. 整数拆分 DP题目 343. 整数拆分给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例 2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。说明: 你可以假设 n 不小于 2 且不大于 58。通过次数47,378提交次数81,471思路类似于Fib,第n个数

2020-07-30 16:25:45 145

原创 LeetCode 103. 二叉树的锯齿形层次遍历

103. 二叉树的锯齿形层次遍历题目给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。例如:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回锯齿形层次遍历如下:[ [3], [20,9], [15,7]]通过次数60,857提交次数111,189来源:力扣(LeetCode)链接:https://leet

2020-07-28 16:23:11 372

原创 LeetCode 113. 路径总和 II

113. 路径总和 II题目给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1返回:[ [5,

2020-07-28 16:20:21 183

原创 LeetCode 329. 矩阵中的最长递增路径

329. 矩阵中的最长递增路径题目给定一个整数矩阵,找出最长递增路径的长度。对于每个单元格,你可以往上,下,左,右四个方向移动。 你不能在对角线方向上移动或移动到边界外(即不允许环绕)。 示例 1:输入: nums = [ [9,9,4], [6,6,8], [2,1,1]] 输出: 4 解释: 最长递增路径为 [1, 2, 6, 9]。示例 2:输入: nums = [ [3,4,5], [3,2,6], [2,2,1]] 输出: 4 解释:

2020-07-26 19:30:27 852

原创 Leetcode 35. 搜索插入位置

插入搜索位置给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2示例 2:输入: [1,3,5,6], 2输出: 1示例 3:输入: [1,3,5,6], 7输出: 4示例 4:输入: [1,3,5,6], 0输出: 0来源:力扣(LeetCode)链接:https://leetcode-cn.com/problem

2020-07-17 12:43:08 92

原创 LeetCode 785. 判断二分图

LeetCode 785. 判断二分图思路染色问题,很简单,dfs对附近的点走下一个颜色,如果下一个颜色冲突返回false,本个也就直接false。问题一般出在只对一个点进行dfs,因为是无向环图,所以可能出现子图无法被第一个点访问到的问题,所以要对所有点进行dfs染色。代码class Solution { public int [] color; public int [][] graph; public boolean isBipartite(int[][] gra

2020-07-16 01:51:26 87

原创 Leetcode 1042. 不邻接植花

题目有 N 个花园,按从 1 到 N 标记。在每个花园中,你打算种下四种花之一。paths[i] = [x, y] 描述了花园 x 到花园 y 的双向路径。另外,没有花园有 3 条以上的路径可以进入或者离开。你需要为每个花园选择一种花,使得通过路径相连的任何两个花园中的花的种类互不相同。以数组形式返回选择的方案作为答案 answer,其中 answer[i] 为在第 (i+1) 个花园中种植的花的种类。花的种类用 1, 2, 3, 4 表示。保证存在答案。 示例 1:输入:N

2020-06-20 03:46:02 159

原创 LeetCode 802. 找到最终的安全状态

LeetCode 802. 找到最终的安全状态题目 在有向图中, 我们从某个节点和每个转向处开始, 沿着图的有向边走。 如果我们到达的节点是终点 (即它没有连出的有向边), 我们停止。现在, 如果我们最后能走到终点,那么我们的起始节点是最终安全的。 更具体地说, 存在一个自然数 K, 无论选择从哪里开始行走, 我们走了不到 K 步后必能停止在一个终点。哪些节点最终是安全的? 结果返回一个有序的数组。该有向图有 N 个节点,标签为 0, 1, ..., N-1, 其中 N 是 graph 的

2020-06-02 23:31:35 105

原创 LeetCode 5425. 切割后面积最大的蛋糕

LeetCode 5425. 切割后面积最大的蛋糕题目矩形蛋糕的高度为 h 且宽度为 w,给你两个整数数组 horizontalCuts 和 verticalCuts,其中 horizontalCuts[i] 是从矩形蛋糕顶部到第 i 个水平切口的距离,类似地, verticalCuts[j] 是从矩形蛋糕的左侧到第 j 个竖直切口的距离。请你按数组 horizontalCuts 和 verticalCuts 中提供的水平和竖直位置切割后,请你找出 面积最大 的那份蛋糕,并返回其 面积 。由于答案

2020-06-01 02:01:41 181

原创 LeetCode 463. 岛屿的周长

LeetCode 463. 岛屿的周长463. 岛屿的周长给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。 示例 :输入:[[0,1,0,0],

2020-05-31 02:18:00 103

原创 结构体排序-IO优化-贪心-最优值

最优值题目已知有NN个单词,其排列为P,编号从1到N。每个单词都有一个价值Value,该价值与单词的首字母ch、单词的长度LL,以及该单词在排列中的编号ID有关。Value = |ch| * L * ID;Value=∣ch∣∗L∗ID; |ch|∣ch∣ 表示字母chch对应的数字 a -> 1, b -> 2, ……, z -> 26a−>1,b−>2,……,z−>26现在,wlxsq想知道,该如何排列这NN个单词,使得其(NN个单词)总价值和最

2020-05-25 23:39:31 122

原创 暴力题-你好2020

暴力题-你好2020描述思路暴力代码import java.util.*;public class 你好 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); System.out.println(getCount(n)); } public static int getCount(int n) { int

2020-05-25 23:26:53 126

原创 莱布尼茨公式

莱布尼茨公式题目思路没什么思路,大数处理,数列的全部直接上python,精度高,不折腾答案

2020-05-25 23:22:19 468

原创 价值之和

价值之和题目D. 试题D:价值之和 10'描述【问题描述】定义数字x的价值为其不同质因子的个数。例如:数字20202020可以写成2020=2*2*5*1012020=2∗2∗5∗101,其价值为33.JM boy请你帮忙计算整数11到20202020中,所有都不包含数字55的正整数的价值之和。【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数(提示:答案最后一位数是奇数),在提交答案时只填写这个整数,填写多余的内容将无法得分。思路筛每一位值

2020-05-24 08:32:05 297

原创 LeetCode 210. 课程表 II

LeetCode 210. 课程表 II思路topsort,需要先完成的指向后完成的,入读为0,则无前继课程或前继课程已被防止在list中代码class Solution { static int V; static int[] degree; static int[] head; static edge[] edges; static int count; static class edge { int to; int next; public edge(int

2020-05-18 03:25:41 122

原创 LeetCode 面试题66. 构建乘积数组

LeetCode 面试题66. 构建乘积数组题目 给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B 中的元素 B[i]=A[0]×A[1]×…×A[i-1]×A[i+1]×…×A[n-1]。不能使用除法。 示例:输入: [1,2,3,4,5]输出: [120,60,40,30,24] 提示:所有元素乘积之和不会溢出 32 位整数a.length <= 100000来源:力扣(LeetCode)链接:https://leet

2020-05-13 00:43:40 122

原创 LeetCode 155. 最小栈 双链表

LeetCode 155. 最小栈 双链表题目 155. 最小栈设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。 示例:输入:["MinStack","push","push","push","getMin","pop","top","getMin"][[],[-2],[0],[-3],[

2020-05-12 02:59:57 105

原创 LeetCode 50. Pow(x, n)

50. Pow(x, n)题目实现 pow(x, n) ,即计算 x 的 n 次幂函数。示例 1:输入: 2.00000, 10输出: 1024.00000示例 2:输入: 2.10000, 3输出: 9.26100示例 3:输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 0.25说明:-100.0 < x < 100.0n 是 32 位有符号整数,其数值范围是 [−231, 231 − 1] 。来源:

2020-05-11 22:59:14 122

原创 LeetCode236. 二叉树的最近公共祖先

LeetCode236. 二叉树的最近公共祖先题目 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [3,5,1,6,2,0,8,null,null,7,4], p

2020-05-10 16:14:03 99

原创 LeetCode 4. 寻找两个正序数组的中位数

LeetCode 4. 寻找两个正序数组的中位数题目4. 寻找两个正序数组的中位数给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。 示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是 (2

2020-05-09 13:53:05 142

原创 LeetCode 69. x 的平方根

LeetCode 69. x 的平方根实现 int sqrt(int x) 函数。计算并返回 x 的平方根,其中 x 是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sqrtx著作权归领扣网

2020-05-09 13:19:21 89

原创 并查集学不懂怎么办?看这篇就够了!

并查集BALL BALL各位老哥点赞关注收藏,爱死你们了。什么是并查集?答:一种数据结构,专门用于组织管理一群离散数据的方法。并查集顾名思义,有两个功能。一、查找一个数据所处在的数据集合的分类标签。 二、将两个原本无交集的数据集合并在一起。这东西有什么用? 答:通过对数据所在空间范围的合并,可以快速的对数据性质做出判断。如判断一个点是否与另一个点具有相同的属性。如果不使用并查集结构,...

2020-05-08 18:46:45 195 1

原创 蓝桥杯 2019 Java C 矩阵分割 带原理解析

蓝桥杯 2019 Java C 矩阵分割题目小明有一些矩形的材料,他要从这些矩形材料中切割出一些正方形。当他面对一块矩形材料时,他总是从中间切割一刀,切出一块最大的正方形,剩下一块矩形,然后再切割剩下的矩形材料,直到全部切为正方形为止。例如,对于一块两边分别为5 和3 的材料(记为5 X 3),小明会依次切出3 X 3、2X 2、1 X 1、1 X 1 共4 个正方形。现在小明有一块...

2020-05-08 01:33:08 478 3

原创 LeetCode 1277. 统计全为 1 的正方形子矩阵

LeetCode 1277. 统计全为 1 的正方形子矩阵题目给你一个 m * n 的矩阵,矩阵中的元素不是 0 就是 1,请你统计并返回其中完全由 1 组成的 正方形 子矩阵的个数。示例 1:输入:matrix =[ [0,1,1,1], [1,1,1,1], [0,1,1,1]]输出:15解释: 边长为 1 的正方形有 10 个。边长为 2 的正方形有 ...

2020-05-08 01:17:06 196 1

原创 LeetCode 14. 最长公共前缀

14. 最长公共前缀题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。来源:力扣(LeetCode)链接:https://leetcod...

2020-05-07 17:27:19 87

原创 LeetCode 2. 两数相加

LeetCode 2. 两数相加题目 2. 两数相加给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -&g...

2020-05-07 17:11:11 105

原创 LeetCode 572. 另一个树的子树 递归 二叉树的遍历

LeetCode 572. 另一个树的子树 递归 二叉树的遍历思路递归先序列遍历二叉树,每遇到一个节点,就进行一次是否为相同树判断。复杂度O(n*k) k为子树大小。问题主要在于如何判断是否存在超出子树的部分,可以通过递归到底层的时候进行判断,t为null,那么肯定不会相同,如果匹配树存在节点,而子树已经没有子节点,同样也是错误的匹配class Solution { stati...

2020-05-07 16:18:44 150

空空如也

空空如也

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

TA关注的人

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