TensorFlow实现逻辑回归
目录
- 前言
- TensorFlow实现逻辑回归
前言
实现逻辑回归的套路和实现线性回归差不多, 只不过逻辑回归的目标函数和损失函数不一样而已.
TensorFlow实现逻辑回归
import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs# 生成二分类数据集
data, target = make_blobs(centers=2)
plt.scatter(data[:, 0], data[:, 1], c=target)
plt.show()# 初始化参数 (修复维度)
w = tf.Variable(initial_value=np.random.randn(2, 1) * 0.01, dtype=tf.float32) # 二分类只需 1 个输出单元
b = tf.Variable(initial_value=0.0, dtype=tf.float32)# 输入数据(无需对 target 做 one-hot 编码)
x = tf.constant(data, dtype=tf.float32)
y = tf.constant(target.reshape(-1, 1), dtype=tf.float32) # 目标形状为 (100, 1)# 定义模型输出(logits)
def logits(x):return tf.matmul(x, w) + b # 输出形状 (100, 1)# 定义损失函数(二元交叉熵)
def loss(y_true, y_pred):y_pred = tf.clip_by_value(y_pred, 1e-9, 1.0)return -tf.reduce_mean(y_true * tf.math.log(y_pred) + (1 - y_true) * tf.math.log(1 - y_pred))# 定义优化器
optimizer = tf.optimizers.SGD(0.001)# 定义训练步骤
def run_optimization():with tf.GradientTape() as g:pred = tf.sigmoid(logits(x)) # 使用 sigmoid 激活函数cost = loss(y, pred)gradients = g.gradient(cost, [w, b])optimizer.apply_gradients(zip(gradients, [w, b]))# 定义准确率计算
def accuracy(y_true, y_pred):y_pred_class = tf.cast(y_pred > 0.5, dtype=tf.float32) # 概率转类别return tf.reduce_mean(tf.cast(tf.equal(y_true, y_pred_class), dtype=tf.float32))# 开始训练
for i in range(1, 10001):run_optimization()if i % 100 == 0:y_pred_prob = tf.sigmoid(logits(x))acc = accuracy(y, y_pred_prob)loss_ = loss(y, y_pred_prob)print(f'Step {i}, 准确率: {acc.numpy()}, 损失: {loss_.numpy()}')
结果如下:
Step 100, 准确率: 1.0, 损失: 0.4105553925037384
Step 200, 准确率: 1.0, 损失: 0.28594353795051575
Step 300, 准确率: 1.0, 损失: 0.21672113239765167
Step 400, 准确率: 1.0, 损失: 0.17359928786754608
Step 500, 准确率: 1.0, 损失: 0.1445026844739914
Step 600, 准确率: 1.0, 损失: 0.12367361038923264
Step 700, 准确率: 1.0, 损失: 0.10807851701974869
Step 800, 准确率: 1.0, 损失: 0.09598751366138458
Step 900, 准确率: 1.0, 损失: 0.08634963631629944
Step 1000, 准确率: 1.0, 损失: 0.07849213480949402
Step 1100, 准确率: 1.0, 损失: 0.07196593284606934
Step 1200, 准确率: 1.0, 损失: 0.06646033376455307
Step 1300, 准确率: 1.0, 损失: 0.061753835529088974
Step 1400, 准确率: 1.0, 损失: 0.05768435448408127
Step 1500, 准确率: 1.0, 损失: 0.054130859673023224
Step 1600, 准确率: 1.0, 损失: 0.0510009303689003
Step 1700, 准确率: 1.0, 损失: 0.048222970217466354
Step 1800, 准确率: 1.0, 损失: 0.04574064165353775
Step 1900, 准确率: 1.0, 损失: 0.04350901022553444
Step 2000, 准确率: 1.0, 损失: 0.04149177670478821
Step 2100, 准确率: 1.0, 损失: 0.039659276604652405
Step 2200, 准确率: 1.0, 损失: 0.03798716142773628
Step 2300, 准确率: 1.0, 损失: 0.03645514324307442
Step 2400, 准确率: 1.0, 损失: 0.035046208649873734
Step 2500, 准确率: 1.0, 损失: 0.03374601528048515
Step 2600, 准确率: 1.0, 损失: 0.03254235163331032
Step 2700, 准确率: 1.0, 损失: 0.031424783170223236
Step 2800, 准确率: 1.0, 损失: 0.030384326353669167
Step 2900, 准确率: 1.0, 损失: 0.02941320464015007
Step 3000, 准确率: 1.0, 损失: 0.02850465290248394
Step 3100, 准确率: 1.0, 损失: 0.027652768418192863
Step 3200, 准确率: 1.0, 损失: 0.026852363720536232
Step 3300, 准确率: 1.0, 损失: 0.026098856702446938
Step 3400, 准确率: 1.0, 损失: 0.025388216599822044
Step 3500, 准确率: 1.0, 损失: 0.024716870859265327
Step 3600, 准确率: 1.0, 损失: 0.02408158965408802
Step 3700, 准确率: 1.0, 损失: 0.0234795231372118
Step 3800, 准确率: 1.0, 损失: 0.022908106446266174
Step 3900, 准确率: 1.0, 损失: 0.0223650261759758
Step 4000, 准确率: 1.0, 损失: 0.021848207339644432
Step 4100, 准确率: 1.0, 损失: 0.02135578542947769
Step 4200, 准确率: 1.0, 损失: 0.020886056125164032
Step 4300, 准确率: 1.0, 损失: 0.02043745294213295
Step 4400, 准确率: 1.0, 损失: 0.020008569583296776
Step 4500, 准确率: 1.0, 损失: 0.019598128274083138
Step 4600, 准确率: 1.0, 损失: 0.01920494996011257
Step 4700, 准确率: 1.0, 损失: 0.01882794313132763
Step 4800, 准确率: 1.0, 损失: 0.018466131761670113
Step 4900, 准确率: 1.0, 损失: 0.01811859756708145
Step 5000, 准确率: 1.0, 损失: 0.01778450421988964
Step 5100, 准确率: 1.0, 损失: 0.0174630805850029
Step 5200, 准确率: 1.0, 损失: 0.01715361326932907
Step 5300, 准确率: 1.0, 损失: 0.016855429857969284
Step 5400, 准确率: 1.0, 损失: 0.016567926853895187
Step 5500, 准确率: 1.0, 损失: 0.016290517523884773
Step 5600, 准确率: 1.0, 损失: 0.0160226970911026
Step 5700, 准确率: 1.0, 损失: 0.015763945877552032
Step 5800, 准确率: 1.0, 损失: 0.015513807535171509
Step 5900, 准确率: 1.0, 损失: 0.015271877869963646
Step 6000, 准确率: 1.0, 损失: 0.015037745237350464
Step 6100, 准确率: 1.0, 损失: 0.014811034314334393
Step 6200, 准确率: 1.0, 损失: 0.014591369777917862
Step 6300, 准确率: 1.0, 损失: 0.014378437772393227
Step 6400, 准确率: 1.0, 损失: 0.014171929098665714
Step 6500, 准确率: 1.0, 损失: 0.013971567153930664
Step 6600, 准确率: 1.0, 损失: 0.013777065090835094
Step 6700, 准确率: 1.0, 损失: 0.013588163070380688
Step 6800, 准确率: 1.0, 损失: 0.01340463850647211
Step 6900, 准确率: 1.0, 损失: 0.013226241804659367
Step 7000, 准确率: 1.0, 损失: 0.013052761554718018
Step 7100, 准确率: 1.0, 损失: 0.012884002178907394
Step 7200, 准确率: 1.0, 损失: 0.01271976437419653
Step 7300, 准确率: 1.0, 损失: 0.012559876777231693
Step 7400, 准确率: 1.0, 损失: 0.012404152192175388
Step 7500, 准确率: 1.0, 损失: 0.012252428568899632
Step 7600, 准确率: 1.0, 损失: 0.012104558758437634
Step 7700, 准确率: 1.0, 损失: 0.01196039654314518
Step 7800, 准确率: 1.0, 损失: 0.011819805018603802
Step 7900, 准确率: 1.0, 损失: 0.01168263703584671
Step 8000, 准确率: 1.0, 损失: 0.011548792943358421
Step 8100, 准确率: 1.0, 损失: 0.011418122798204422
Step 8200, 准确率: 1.0, 损失: 0.011290528811514378
Step 8300, 准确率: 1.0, 损失: 0.011165900155901909
Step 8400, 准确率: 1.0, 损失: 0.01104412879794836
Step 8500, 准确率: 1.0, 损失: 0.010925106704235077
Step 8600, 准确率: 1.0, 损失: 0.010808765888214111
Step 8700, 准确率: 1.0, 损失: 0.010695010423660278
Step 8800, 准确率: 1.0, 损失: 0.010583736933767796
Step 8900, 准确率: 1.0, 损失: 0.010474861599504948
Step 9000, 准确率: 1.0, 损失: 0.010368350893259048
Step 9100, 准确率: 1.0, 损失: 0.01026405580341816
Step 9200, 准确率: 1.0, 损失: 0.01016198005527258
Step 9300, 准确率: 1.0, 损失: 0.010061997920274734
Step 9400, 准确率: 1.0, 损失: 0.009964067488908768
Step 9500, 准确率: 1.0, 损失: 0.009868137538433075
Step 9600, 准确率: 1.0, 损失: 0.009774118661880493
Step 9700, 准确率: 1.0, 损失: 0.00968195591121912
Step 9800, 准确率: 1.0, 损失: 0.009591614827513695
Step 9900, 准确率: 1.0, 损失: 0.009503037668764591
Step 10000, 准确率: 1.0, 损失: 0.009416175074875355
相关文章:
TensorFlow实现逻辑回归
目录 前言TensorFlow实现逻辑回归 前言 实现逻辑回归的套路和实现线性回归差不多, 只不过逻辑回归的目标函数和损失函数不一样而已. TensorFlow实现逻辑回归 import tensorflow as tf import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import mak…...
第十四届蓝桥杯大赛软件赛省赛Python 大学 C 组:6.棋盘
题目1 棋盘 小蓝拥有 nn 大小的棋盘,一开始棋盘上全都是白子。 小蓝进行了 m 次操作,每次操作会将棋盘上某个范围内的所有棋子的颜色取反(也就是白色棋子变为黑色,黑色棋子变为白色)。 请输出所有操作做完后棋盘上每个棋子的颜色。 输入格…...
电商场景下高稳定性数据接口的选型与实践
在电商系统开发中,API接口需要应对高并发请求、动态数据更新和复杂业务场景。我将重点解析电商场景对数据接口的特殊需求及选型方案。 一、电商API必备的四大核心能力 千万级商品数据实时同步 支持SKU基础信息/价格/库存多维度更新每日增量数据抓取与历史版本对比…...
内网服务器centos7安装jdk17
1. 下载 JDK 17 安装包(在外网环境操作) 在可联网的机器上下载 JDK 17 的压缩包(推荐使用 OpenJDK): OpenJDK 官方源: Adoptium Eclipse Temurin Azul Zulu 直接下载命令示例(在外网机器上执行…...
Git 使用教程
Git 使用教程 Git 是目前最流行的分布式版本控制系统,它能够高效地管理代码,并支持团队协作开发。本文将介绍 Git 的基本概念、常用命令以及如何在实际项目中使用 Git 进行版本控制。 1. Git 基本概念 在使用 Git 之前,需要了解以下几个基…...
【无标题】跨网段耦合器解决欧姆龙CJ系列PLC通讯问题案例
欧姆龙CJ系列PLC不同网段的通讯问题 一、项目背景 某大型制造企业的生产车间内,采用了多台欧姆龙CJ系列PLC对生产设备进行控制。随着企业智能化改造的推进,需要将这些PLC接入工厂的工业以太网,以便实现生产数据的实时采集、远程监控以及与企业…...
13_pandas可视化_seaborn
导入库 import numpy as np import pandas as pd # import matplotlib.pyplot as plt #交互环境中不需要导入 import seaborn as sns sns.set_context({figure.figsize:[8, 6]}) # 设置图大小 # 屏蔽警告 import warnings warnings.filterwarnings("ignore")关系图 …...
【C++进阶四】vector模拟实现
目录 1.构造函数 (1)无参构造 (2)带参构造函数 (3)用迭代器构造初始化函数 (4)拷贝构造函数 2.operator= 3.operator[] 4.size() 5.capacity() 6.push_back 7.reserve 8.迭代器(vector的原生指针) 9.resize 10.pop_back 11.insert 12.erase 13.memcpy…...
14使用按钮实现helloworld(1)
目录 还可以通过按钮的方式来创建 hello world 涉及Qt 中的信号槽机制本质就是给按钮的点击操作,关联上一个处理函数当用户点击的时候 就会执行这个处理函数 connect(谁发的信号, 信号类型, 谁来处理这个信息, 怎么处理的&…...
嵌入式EMC设计面试题及参考答案
目录 解释 EMC(电磁兼容性)的定义及其两个核心方面(EMI 和 EMS) 电磁兼容三要素及相互关系 为什么产品必须进行 EMC 设计?列举至少三个实际工程原因 分贝(dB)在 EMC 测试中的作用是什么?为何采用对数单位描述干扰强度? 传导干扰与辐射干扰的本质区别及典型频率范围…...
cursor的.cursorrules详解
文章目录 1. 文件位置与作用2. 基本语法规则3. 常用规则类型与示例3.1 忽略文件/目录3.2 限制代码生成范围3.3 自定义补全建议3.4 安全规则 4. 高级用法4.1 条件规则4.2 正则表达式匹配4.3 继承规则 5. 示例文件6. 注意事项 Cursor 是一款基于 AI 的智能代码编辑器,…...
Opencv计算机视觉编程攻略-第七节 提取直线、轮廓和区域
第七节 提取直线、轮廓和区域 1.用Canny 算子检测图像轮廓2.用霍夫变换检测直线;3.点集的直线拟合4.提取连续区域5.计算区域的形状描述子 图像的边缘区域勾画出了图像含有重要的视觉信息。正因如此,边缘可应用于目标识别等领域。但是简单的二值边缘分布图…...
清明假期在即
2025年4月2日,6~22℃,一般 遇见的事:这么都是清明出去玩?你们不扫墓的么。 感受到的情绪:当精力不放在一个人身上,你就会看到很多人,其实可以去接触的。 反思:抖音上那么多不幸和幸…...
数字孪生技术解析:开启虚拟与现实融合新时代
一、数字孪生技术的概念与原理 数字孪生技术是一种通过构建物理对象的数字映射,实现虚拟与现实同步的技术。该技术集成了物联网、云计算、人工智能、大数据等多种前沿技术,能够对物理世界进行全方位的仿真和管理。在数字孪生技术中,物理建模…...
Docker Registry 清理镜像最佳实践
文章目录 registry-clean1. 简介2. 功能3. 安装 docker4. 配置 docker5. 配置域名解析6. 部署 registry7. Registry API 管理8. 批量清理镜像9. 其他10. 参考 registry-clean 1. 简介 registry-clean 是一个强大而高效的解决方案,旨在简化您的 Docker 镜像仓库管理…...
进程间的通信
一.理解 1.进程间通信的目的 数据传输,资源共享,通知事件,进程控制 2.进程间通信的本质 先让不同的进程看到"同一份"资源(该资源只能由OS系统提供,不能由任何一个进程提供) 3.具体通信方式 …...
当实时消费遇到 SPL:让数据处理更高效、简单
作者:豁朗 通过 SPL 消费,将业务逻辑“左移” SLS 对实时消费进行了功能升级,推出了 基于 SPL 的规则消费功能。在实时消费过程中,用户只需通过简单的 SPL 配置即可完成服务端的数据清洗和预处理操作。通过SPL消费可以将客户端复…...
Python----机器学习(线性回归:反向传播和梯度下降)
一、前向传播与反向传播的区别 前向传播是在参数固定后,向公式中传入参数,进行预测的一个过程。当参 数值选择的不恰当时,会导致最后的预测值不符合我们的预期,于是我们就 需要重新修改参数值。 在前向传播实验中时,我…...
如何平衡元器件成本与性能
要平衡元器件成本与性能,企业应当明确设计需求和目标、优化元器件选型策略、建立成本性能评估体系、推进标准化设计、加强供应链管理。其中,优化元器件选型策略尤其关键,它直接关系到产品的成本、性能与生命周期。在选型时,工程师…...
java项目分享-分布式电商项目附软件链接
今天来分享一下github上最热门的开源电商项目安装部署,star 12.2k,自行安装部署历时两天,看了这篇文章快的话半天搞定!该踩的坑都踩完了,软件也打包好了就差喂嘴里。 项目简介 mall-swarm是一套微服务商城系统…...
低代码框架
在数字化转型浪潮中,软件开发的效率与成本成为企业关注的焦点。低代码框架应运而生,以其独特的开发模式,打破了传统软件开发的壁垒,为企业和开发者带来了全新的解决方案。那么,究竟什么是低代码框架呢? …...
Git Reset 命令详解与实用示例
文章目录 Git Reset 命令详解与实用示例git reset 主要选项git reset 示例1. 撤销最近一次提交(但保留更改)2. 撤销最近一次提交,并清除暂存区3. 彻底撤销提交,并丢弃所有更改4. 回退到特定的提交5. 取消暂存的文件 git reset 与 …...
多层内网渗透测试虚拟仿真实验环境(Tomcat、ladon64、frp、Weblogic、权限维持、SSH Server Wrapper后门)
在线环境:https://www.yijinglab.com/ 拓扑图 信息收集 IP地址扫描 确定目标IP为10.1.1.121 全端口扫描 访问靶机8080端口,发现目标是一个Tomcat服务,版本...
<贪心算法>
前言:在主包还没有接触算法的时候,就常听人提起“贪心”,当时是layman,根本不知道说的是什么,以为很难呢,但去了解一下,发现也不过如此嘛(bushi),还以为是什么高级东西呢…...
使用PyTorch实现GoogleNet(Inception)并训练Fashion-MNIST
GoogleNet(又称Inception v1)是2014年ILSVRC冠军模型,其核心创新是Inception模块,通过并行多尺度卷积提升特征提取能力。本文将展示如何用PyTorch实现GoogleNet,并在Fashion-MNIST数据集上进行训练。 1. 环境准备 im…...
KingbaseES物理备份还原之备份还原
此篇续接上一篇<<KingbaseES物理备份还原之物理备份>>,上一篇写物理备份相关操作,此篇写备份还原的具体操作步骤. KingbaseES版本:V009R004C011B003 一.执行最新物理备份还原 --停止数据库服务,并创建物理备份还原测试目录 [V9R4C11B3192-168-198-198 V8]$ sys_ct…...
Unity Standard Shader 解析(二)之ForwardAdd(标准版)
一、ForwardAdd // Additive forward pass (one light per pass)Pass{Name "FORWARD_DELTA"Tags { "LightMode" "ForwardAdd" }Blend [_SrcBlend] OneFog { Color (0,0,0,0) } // in additive pass fog should be blackZWrite OffZTest LEqual…...
.NET 使用 WMQ 连接Queue 发送 message 实例
1. 首先得下载客户端,没有客户端无法发送message. 安装好之后长这样 我装的是7.5 安装目录如下 tools/dotnet 目录中有演示的demo 2. .Net 连接MQ必须引用bin目录中的 amqmdnet.dll 因为他是创建Queuemanager 的核心库, 项目中引用using IBM.WMQ; 才…...
设计模式之单例模式
视频链接: 设计模式|狂神说 单例模式是什么? 单例模式是确保一个类在整个应用程序中只有一个实例,并提供一个全局方法访问这个实例。 单例模式分为饿汉式和懒汉式。 饿汉式单例 饿汉式顾名思义就是,程序一启动就创建这个单例bea…...
从入门到入土,SQLServer 2022慢查询问题总结
列为,由于公司原因,作者接触了一个SQLServer 2022作为数据存储到项目,可能是上一任的哥们儿离开的时候带有情绪,所以现在项目的主要问题就是,所有功能都实现了,但是就是慢,列表页3s打底,客户很生气,经过几周摸爬滚打,作以下总结,作为自己的成长记录。 一、索引问题…...
大语言模型在端到端智驾中的应用
大语言模型在端到端智驾中的应用 双系统端到端 小鹏:AI天玑系统—神经网络XNet规控大模型XPlanner大语言模型XBrain 商汤绝影:DriveAGI 理想:端到端VLM VLA端到端 Waymo:EMMA OPENEMMA Wayve:LINGO-2...
【深度学习量化交易19】行情数据获取方式比测(1)——基于miniQMT的量化交易回测系统开发实记
我是Mr.看海,我在尝试用信号处理的知识积累和思考方式做量化交易,应用深度学习和AI实现股票自动交易,目的是实现财务自由~ 目前我正在开发基于miniQMT的量化交易系统——看海量化交易系统。 经常使用MiniQMT的朋友都知道,xtquant的…...
《网络管理》实践环节03:snmp服务器上对网络设备和服务器进行初步监控
兰生幽谷,不为莫服而不芳; 君子行义,不为莫知而止休。 应用拓扑图 3.0准备工作 所有Linux服务器上(服务器和Agent端)安装下列工具 yum -y install net-snmp net-snmp-utils 保证所有的HCL网络设备和服务器相互间能…...
linux操作系统
1.linux进程管理 操作系统都有进程的概念 查看和关闭程序 2.关闭进程 3,查看计算机硬件信息 4.定时任务...
Python基础语法 - 判断语句
Python基础语法 - 判断语句 1. if语句 if 条件:# 条件为True时执行的代码示例 age 18 if age > 18:print("您已成年")2. if-else语句 if 条件:# 条件为True时执行的代码 else:# 条件为False时执行的代码示例 age 16 if age > 18:print("您已成年&q…...
c++柔性数组、友元、类模版
目录 1、柔性数组: 2、友元函数: 3、静态成员 注意事项 面试题:c/c static的作用? C语言: C: 为什么可以创建出 objx 4、对象与对象之间的关系 5、类模版 1、柔性数组: #define _CRT_SECURE_NO_WARNINGS #…...
电子技术基础
目录 一、整体概述 二、知识点梳理及考点分析 (一)半导体器件 (二)基本放大电路 (三)功率放大电路 (四)集成运算放大器 (五)直流稳压电源 ࿰…...
解码大模型时代算力基座的隐形引擎
在千亿参数大模型竞速的今天,算力军备竞赛已进入白热化阶段。当我们聚焦GPU集群的运算峰值时,一个关键命题正在浮出水面:支撑大模型全生命周期的存力基座,正在成为制约AI进化的关键变量。绿算技术将深入解剖大模型训练与推理场景中…...
【NetCore】ControllerBase:ASP.NET Core 中的基石类
ControllerBase:ASP.NET Core 中的基石类 一、什么是 ControllerBase?二、ControllerBase 的主要功能三、ControllerBase 的常用属性四、ControllerBase 的常用方法2. 模型绑定与验证3. 依赖注入五、ControllerBase 与 Controller 的区别六、实际开发中的最佳实践七、总结在 …...
人工智能之数学基础:矩阵分解之LU分解
本文重点 LU分解是线性代数中一种重要的矩阵分解方法,它将一个方阵分解为一个下三角矩阵(L)和一个上三角矩阵(U)的乘积。这种分解方法在数值线性代数中有着广泛的应用,特别是在求解线性方程组、计算矩阵的行列式、求逆矩阵等方面。 LU分解的基本概念 设A是一个nn的方阵…...
C#核心学习(六)面向对象--封装(5)静态成员及静态构造函数和静态类 以及和常量的区别
目录 一、什么是静态的?什么是常量? 1. 静态(Static) 2. 常量(const) 二、类中的静态成员有什么用? 1. 共享数据 2. 工具方法与全局配置 3. 单例模式 三、静态类和静态成…...
去中心化稳定币机制解析与产品策略建议
去中心化稳定币机制解析与产品策略建议(以Maker/DAI为例) 一、核心机制对比:法币抵押型 vs. 加密货币抵押型 法币抵押型(如USDT) 技术逻辑:1:1美元储备托管于中心化机构(如银行)&…...
构造超小程序
文章目录 构造超小程序1 编译器-大小优化2 编译器-移除 C 异常3 链接器-移除所有依赖库4 移除所有函数依赖_RTC_InitBase() _RTC_Shutdown()__security_cookie __security_check_cookie()__chkstk() 5 链接器-移除清单文件6 链接器-移除调试信息7 链接器-关闭随机基址8 移除异常…...
JSONP跨域访问漏洞
一、漏洞一:利用回调GetCookie <?php$conn new mysqli(127.0.0.1,root,root,learn) or die("数据库连接不成功"); $conn->set_charset(utf8); $sql "select articleid,author,viewcount,creattime from learn3 where articleid < 5"; $result…...
数据结构优化DP总结
单调栈:Codeforces Round 622 (Div. 2) C2. Skyscrapers (hard version) 简单来讲就是最后需要呈现出一个单峰数组,使得总高度最高。 最开始想到暴力枚举每一个元素都充当最高的“单峰”,但是这里的 n 过大,这样枚举肯定会TLE。 …...
Linux网络相关概念和重要知识(4)(序列化和反序列化、TCP协议、会话和守护进程)
目录 1.序列化和反序列化 (1)为什么需要序列化 (2)序列化方案 ①json ②json序列化代码模板 ③json反序列化代码模板 ④将自定义方案和json结合 2.TCP协议(传输控制协议) (1)…...
[MySQL初阶]MySQL数据库基础
MySQL数据库基础 1. 数据库基础1.1 什么是数据库1.2 主流数据库2. 数据库的基本使用2.1 连接服务器2.2 使用案例2.3 数据逻辑存储3. MySQL架构与分类3.1 MySQL架构3.2 SQL分类4. 存储引擎4.1 存储引擎基本概念4.2 存储引擎基本操作1. 数据库基础 1.1 什么是数据库 存储数据用…...
【mysql 的安装及使用】
MySQL 9.0 一、下载MySQL[MySQL 9.0 下载] [(https://dev.mysql.com/downloads/mysql/)选择自定义,选择合适安装路径二、检查安装情况配置环境变量打开命令行查看版本创建数据库在MySQL中,可以使用create database语句来创建数据库。以下是创建一个名为my_db的数据库的示例:…...
d202542
一、142.环形链表I 142. 环形链表 II - 力扣(LeetCode) 用set统计一下 如果再次出现那么就环的第一个return返回就行 public ListNode detectCycle(ListNode head) {Set<ListNode> set new HashSet<>();ListNode cur head;while(cur ! …...
vscode代码片段的设置与使用
在 Visual Studio Code (VS Code) 中,可以通过自定义**代码片段(Snippets)**快速插入常用代码模板。以下是详细设置步骤: 步骤 1:打开代码片段设置 按下快捷键 Ctrl Shift P(Windows/Linux)或…...