自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Leetocode 236. 二叉树的最近公共祖先】

当递归到某个节点,该节点符合(root == p or root == q)的条件就向上返回,这个节点是一个潜在的LCA候选者(Candidate)。候选者的意思是它有可能就是我们在找的LCA,也有可能并不是,但是和None不一样,它是有用的。本质上,该题目有三种情况,情况1:两个节点p,q分布于最深父公共祖先(LCA)的两侧。情况2:两个节点中的较浅节点p就为LCA,此时另一个节点q在该节点之下。情况2的对应:该Candidate向上返回时,一路畅通无阻(另一侧始终是None),一直返回到根节点。

2026-04-29 09:58:55 207

原创 【240. 搜索二维矩阵 II】

*当前元素 matrix[i][j] 是第 i 行的最大值,同时也是第 j 列的最小值。它像一个天然的 “裁判”,将整个搜索空间清晰地一分为二。**同时,这个 “裁判” 还指出了一个搜索方向:向左会变小,向下会变大。因此,我们可以根据 target 与它的比较,做出唯一的决定。如果从左上角(最小值)开始,当 target 更大时,向右和向下两个方向都是未知的,我们无法立刻做出排除一整行或一整列的决定。排除法之所以有效,是因为它借助了矩阵的两个关键特性——每行从左到右递增,每列从上到下递增。

2026-04-17 14:05:09 46

原创 [回溯子集问题,去重篇]

剪枝思路:1、同层去重,同树枝不去重:本题可以排序,排序后直接nums[i] ==nums[i- 1]来去重。

2025-12-05 15:13:24 211

原创 Leetcode 1110. 删点成林

【代码】Leetcode 1110. 删点成林。

2025-11-28 16:39:42 350

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

从上到下,先序遍历的方式,同时维护上面结点的最大值和最小值。当前路径的最大值和最小值通过参数传递。记录当前路径的最大值和最小值,到叶节点时则可得到,当前路径的最大差值。当前路径的最大值和最小值,通过函数返回值,从下往上传递。

2025-11-28 10:13:41 160

原创 Leetcode 739. 每日温度

【代码】Leetcode 739. 每日温度。

2025-11-06 17:41:07 261

原创 Leetcode 1094. 拼车

【代码】Leetcode 1094. 拼车。

2025-11-05 21:21:42 193

原创 1685. 有序数组中差绝对值之和

与。

2025-11-05 14:15:15 278

原创 Leetcode 1052. 爱生气的书店老板

1、计算顾客总量,顾客生气总数(不安抚情况下),最大安抚顾客数量,答案即为:顾客总量 - (顾客生气总数(不安抚情况下)- 最大安抚顾客数量)2、两数组相乘得到生气数组,让窗口内累加值最大(固定滑动窗口问题),则可以得到最大安抚顾客数量。

2025-10-10 15:50:42 224

原创 LeetCode 2090.半径为k的子数组

i++) {//1.进入窗口 右窗口指针:i//2.窗口元素不足k个继续continue;//3.业务逻辑//4.离开窗口将左侧窗口元素剔除 左窗口指针:i - k + 1return [];

2025-10-09 16:58:43 132

原创 LeetCode 1170.比较字符串最小字母出现频次

统计最小字母出现频次:利用map的的按"键"有序的特性,map.begin()->second,即为出现过的最小字母的频次查询f(queries[i]) < f(W)的词个数:其实就是查找f(queries[i]) 在排序后的f(W)中的位置;即为f(W) > target,满足的数目为word.size() - index。

2025-09-11 09:33:05 247

原创 LeetCode 34.在排序数组中查找元素的第一个和最后一个位置

1、采用二分法的找第一个出现的数target为左边界,即nums[mid]>=target的第一个数;最后一个出现的数target为右边界,其实相对于找第一个出现的target+1的位置,再减1就是右边界。

2025-09-10 09:21:16 242

原创 Ubuntu 22.04 | 开机时提示piix4_smbus: Host SMBus controller not enabled

【代码】Ubuntu 22.04 | 开机时提示piix4_smbus: Host SMBus controller not enabled。

2024-07-31 20:04:04 1222

原创 Ubuntu settings中没有wired connected的解决方案

【代码】Ubuntu settings中没有wired connected的解决方案。

2024-07-30 15:19:23 285

原创 vscode配置篇

常用插件 Chinese (Simplified) 汉化 IntelliCode 自动补全 Python C/C++

2024-07-25 11:58:14 156

原创 计蒜客(dfs 数独)

代码 #include<bits/stdc++.h> using namespace std; char s[10][10]; bool vx[10][10], vy[10][10], vv[10][10] bool f; void dfs(int x; int y){ if(f){ return; } if(x == 9){ f = true; for(int i = 0; i < 9; i++){

2022-02-26 22:10:37 227

原创 计蒜客(dfs 等边三角形)

代码 #include<bits/stdc++.h> using namespace std; int p[25]; int vis[25] = {0}; int n, sum; bool f = false; void dfs(int x, int s, int st){ if(f){ return; } if(x == 3){ f = true; return; } if(s == sum / 3){

2022-02-26 21:43:17 319

原创 计蒜客 蒜头君开公司(dfs)

2020 年,蒜头君自己开了一家拥有 N 个员工的大公司。每天,蒜头君都要分配 N 项工作给他的员工,但是,由于能力的不同,每个人对处理相同工作所需要的时间有快有慢。众所周知,蒜头君是一个非常重视效率的人,他想知道该如何分配工作,才能使得完成所有工作的时间总和最小(每个员工只可以被分配到一个工作)。但是我们也都知道蒜头君不是一般的懒,所以蒜头君找到了你,请你拯救一下蒜头君吧! 输入格式 第一行输入一个整数 N,代表有 N 个员工,员工编号从 1 到 N。(1≤N≤10) 接着输入一个 N∗N的二维矩阵 ta

2021-12-04 10:52:59 311

原创 计蒜客家谱(dfs求直系后代数

计蒜客家谱(dfs求直系后代数) 这一天蒜头君拿到了自己家的家谱,蒜头君便想知道,在自己家的家谱中,每位祖先有多少直系后代(直系后代包括他的孩子和他孩子的直系后代)。但是家族历史源远流长,家谱实在太庞大了,自己一个人完全数不过来。热心的你便自告奋勇帮蒜头君写一个程序,来统计每位祖先有多少直系后代。 输入格式 输入的第一行有一个整数 n(1≤n≤100000),表示家谱中的总人数。 接下来读入 n−1 行,每行有两个整数 x(1≤x≤n), y(1≤y≤n),表示 x 是 y 的父母。 输出格式 输出 n 行

2021-12-03 23:30:17 432

原创 踏青(dfs求矩阵中的块数)

蒜头君和他的朋友周末相约去召唤师峡谷踏青。他们发现召唤师峡谷的地图是由一块一块格子组成的,有的格子上是草丛,有的是空地。草丛通过上下左右 444 个方向扩展其他草丛形成一片草地,任何一片草地中的格子都是草丛,并且所有格子之间都能通过上下左右连通。如果用’#‘代表草丛,’.'代表空地,下面的峡谷中有 222 片草地。 处在同一个草地的 222 个人可以相互看到,空地看不到草地里面的人。他们发现有一个朋友不见了,现在需要分头去找,每个人负责一片草地,蒜头君想知道他们至少需要多少人。 输入格式 第一行输入 n,

2021-12-03 21:21:57 202

原创 象棋(与迷宫(一)类似)dfs

题目描述 样例读入 .#....#S# ..#.#.#.. ..##.#..# ......##. ...T..... ...#.#... ...#..... ...###... ......... .##...... 样例输出 Yes 代码: 相较于迷宫(一)这种写法适合只要能找到一条路径,不需要找到所有路径的题型。当涉及到全部路径问题的时候,就需要回溯vis矩阵 #include<cstdio> char matrix[11][11]; bool vis[11][11]={false}

2021-12-03 19:13:49 185

原创 迷宫(一)(单路径 多路径)DFS

一天蒜头君掉进了一个迷宫里面,蒜头君想逃出去,可怜的蒜头君连迷宫是否有能逃出去的路都不知道。 看在蒜头君这么可怜的份上,就请聪明的你告诉蒜头君是否有可以逃出去的路。 输入格式 第一行输入两个整数 nn 和 mm,表示这是一个 n \times mn×m 的迷宫。 接下来的输入一个 nn 行 mm 列的迷宫。其中 ‘S’ 表示蒜头君的位置,’*‘表示墙,蒜头君无法通过,’.‘表示路,蒜头君可以通过’.'移动,'T’表示迷宫的出口(蒜头君每次只能移动到四个与他相邻的位置——上,下,左,右)。 输出格式 输出一个

2021-12-03 18:05:52 501

原创 pytorch深度学习实践_p10_CNN卷积神经网络实现数字辨识

完整代码 import torch from torchvision import transforms from torchvision import datasets from torch.utils.data import DataLoader import torch.nn.functional as F import torch.optim as optim #1、准备数据集 batch_size = 64 transform = transforms.Compose([transforms

2021-08-18 19:14:33 208

原创 pytorch深度学习实践_p8_pytorch实现泰坦尼克号生存预测

泰坦尼克号生存预测 题目原址:https://www.kaggle.com/c/titanic 有能力的可以去看看题目先 数据包括三个文件 完整代码 import torch from torch.utils.data import Dataset,DataLoader import numpy as np import pandas as pd import torch.nn.functional as F class Train_Titanic(Dataset): def __init__(s

2021-08-18 18:04:14 1951

原创 pytorch深度学习实践_p9_多分类问题_pytorch手写实现数字辨识

pytorch手写实现数字辨识 知识点补充 1、准备数据集 transform = transforms.Compose([ #撰写转换器 transforms.ToTensor(), #数据转为向量 transforms.Normalize((0.1307,), (0.3801, )) #将像素值规格化在(0, 1)之间,前者为均值,后者为方差,这两个值是在图像处理上经过大量数据得到的普遍值 ]) train_dataset = datasets.MNIST( root =

2021-08-16 16:46:11 850

原创 pytorch深度学习实践_p8_加载多维数据集

用pytorch实现预测是否会患糖尿病 知识点补充 train_loader = DataLoader(dataset=dataset, batch_size=32, shuffle=True, num_workers=8) dataset:数据集 batch_size:一个batch里包含的样本数 shuffle:是否需要打乱顺序,一般训练集为保证随机性要打乱顺序,而测试集为了保证输出结果的直观性不打乱 num_worker:多线程使用的线程个数,一般设置为4或者8,注意在windows环境下,多

2021-08-15 23:10:43 243

原创 pytorch深度学习实践_p6_用pytoch实现logistic回归

知识点补充 torch.nn.BCELoss(size_average=False) 求交叉熵的函数 实现的步骤 prepare dataset 准备数据集 design model using class 使用类来设计模型 constuct loss and optimizer 创建loss 和优化器 taining cycle 循环训练 斜体样式整体与linear的实现差不多,就把y^和loss fuction 两处做了修改 完整代码 import torch import torch.nn.f

2021-08-14 17:56:07 181

原创 pytorch深度学习实践_p5_用pytorch实现线性回归

知识点补充 torch.nn.Linear(input_dim,output_dim) input_dim:输入的维度,即特征x的个数 output_dim:输出的维度,即输出y的个数 torch.nn.MSELoss(size_average = True, reduce = True) size_average:True表示求batch中损失值的平均数;False表示求batch损失值的总和。默认为True。 reduce:True表示降维;False表示不降维,返回每一个batc

2021-08-14 16:25:28 287

原创 pytorch深度学习实践_p4_Backpropagation

对于Backpropagation的一些理解 做gradient descent 的关键步骤是求loss对w(特征值,这里就用weight做示例)求导,当没有用到神经网络的时候对于其还是比较好求的,但是当嵌套了多层神经元后,其求导难度就大大增加了。这时backpropagation的作用就来了通过一次forward和一次backward以后就能求出。过程如下: ###总结 :backpropagation的作用就是在神经网络中求出最后一层一层对于第一层input的导数,以便进行梯度下降 torch w.

2021-08-13 19:44:03 242

原创 pytorch 深度学习实践_p3_gradient

课程链接->https://www.bilibili.com/video/BV1Y7411d7Ys?p=3&spm_id_from=pageDriver 易混淆的点: loss是对单个样本评价好坏: cost是评价整个样本的好坏cost 求gradient的两种方式 其中第二个随机梯度下降效果更好,有助于跳出可能出现的鞍点 求gradient ...

2021-08-13 18:14:53 204

原创 pytorch 深度学习实践_p2线性模型

这是在李宏毅的2020机器学习做作业3的时候,发现要用到torch,所以去临时学的一门课程,顺便记录下课程的代码 知识点补充 zip()函数的用法 zip函数的原型为:zip([iterable, …]) 参数iterable为可迭代的对象,并且可以有多个参数。 该函数返回一个以元组为元素的列表, 其中第 i 个元组包含每个参数序列的第 i 个元素。返回的列表长度被截断为最短的参数序列的长度。 只有一个序列参数时,它返回一个1元组的列表。没有参数时,它返回一个空的列表。 原文链接:https://blog

2021-08-13 15:49:28 188

原创 使用keras实现手写数字辨识

导包 import numpy as np from keras.models import Sequential from keras.layers.core import Dense,Dropout,Activation from keras.optimizers import SGD,Adam from keras.utils import np_utils from keras.datasets import mnist 载入数据 def load_data(): (x_train,y_

2021-08-12 17:30:33 145

空空如也

空空如也

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

TA关注的人

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