自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

琴歌声声送我的博客

十五年技术沉淀,深度挖掘科技自媒体,分享前沿洞见,引领行业新风向。

  • 博客(39)
  • 收藏
  • 关注

原创 LeetCode 网络延迟时间 - Dijkstra 算法

Dijkstra的算法通过迭代更新到每个节点的最短路径来起作用。从源节点开始,它考虑了所有传出边缘,并将最短的边缘添加到路径中。考虑到所有外向的边缘,每个新添加的节点都重复此过程。如果发现较短的路径到节点,则该算法会更新路径长度。这一直持续到所有节点都被考虑为止。

2024-04-13 21:30:45 332

原创 LeetCode最长有效括号问题解

在这里,方法无非是我们使用堆栈,当我们遇到开头支撑时,我们将其索引推入堆栈中,每当我们触摸闭合支架时,我们就会看到堆栈的顶部,如果它的大小是一个,则意味着闭合括号已经统治了开头括号。然后,我们将堆栈的最高值编辑为闭合支架的索引。说明:最长的有效括号子字符串是 “()()”。说明:最长的有效括号子字符串是 “()”。s[i] 是 ‘(’, 或者 ‘)’。如下所示,图片清楚地描绘了此方法。输入:s = “)()())”输入:s = “(()”

2024-04-13 21:25:37 454

原创 神经网络训练中 Batch 的作用

本文将详细探讨batch在神经网络训练中的作用,包括它如何影响梯度估计的准确性、训练的稳定性和效率,以及如何选择合适的batch size。它不仅影响梯度估计的准确性和训练的稳定性,还直接影响训练的效率和最终模型的性能。选择合适的batch size需要综合考虑数据集的大小、模型的复杂度、可用的计算资源以及训练的目标。选择合适的batch size是一个需要综合考虑多个因素的过程。选择合适的batch size是神经网络训练中的一个重要问题,因为它直接影响到模型的训练效果、训练速度以及资源的利用效率。

2024-04-12 12:22:10 927

原创 Composer 安装与配置

在传统的 PHP 开发中,开发者往往需要手动下载和集成各种第三方库和框架,这不仅效率低下,而且难以维护。随着项目规模的扩大和开发团队的协作,这种问题变得更加突出。Composer 通过提供一个统一的描述文件(`composer.json`)和一套命令行工具,使得依赖管理变得自动化和标准化。

2024-04-12 12:15:44 1247

原创 LeetCode 最长重复子串的更换问题

我们注意到,通过连续检查长度为1、2、3等的子串,我们实际上是在按顺序检查子串的长度。我们将中间的元素与目标值进行比较,以确定目标值是在搜索空间的前半部分还是后半部分。问题的本质是找到一个子串,其中最常见的字符频率与子串长度之间的差值小于或等于。一种直观的方法是从长度为1的子串开始尝试,并逐步增加子串的长度,直到找到第一个不符合要求的子串。我的解决方案可能不是最快速、最有效或最简单的,但我希望通过这个过程深入理解相关的算法。,我们就可以把这些字符全部更换为最常见的字符,从而形成一个只包含相同字符的子串。

2024-04-11 20:22:00 644

原创 Codewars:找到奇数 int

给定一个数组,找到出现次数为奇数的整数。在数组中,总会有一个整数出现奇数次,尽管其他数字可能会出现多次。我们需要识别数组中哪个数字出现奇数次。尽管每个数字可以多次出现,但只有一个数字会出现奇数次。中,数字7出现了3次(奇数次),这使得它成为我们的目标。一个对象似乎是将每个数字映射到它在数组中出现次数的理想数据结构。中,数字2仅出现一次(奇数次),因此它被指定为解决方案。首先,通过遍历数组:这使我可以单独检查每个数字。A:在没有特定语言信息的情况下解决它的步骤。C:根据编码伪代码指导的解决方案。

2024-04-11 17:10:49 284

原创 在 Leetcode 上使用 Javascript 查找数组中的所有重复项(使用 JS 的 DSA)

我们有一个包含n个整数的数组,所有整数都在范围[1, n]内。每个整数要么出现一次,要么出现两次。任务是找出并返回一个包含所有出现两次的整数的数组。要求算法的时间复杂度为O(n),并且只能使用固定的额外空间。

2024-04-11 16:57:43 504

原创 LeetCode 题目:两个总和

编写一个函数,输入为一个整数数组nums和一个目标整数target,要求找到数组中两个数的和等于target,并返回这两个数的索引。

2024-04-11 16:50:53 426

原创 LeetCode Meditations:合并 K 排序列表

描述状态:您有一系列k链接-列表lists,每个链接-列表按升序排序。合并所有链接-列表为一个排序的链接-列出并返回。起初这个问题有点让我感到困惑,但是很有意义。解决方案的方法是,这是您从任何介绍性计算机科学课程中可能记得的最熟悉的算法之一。现在,当我们将数组作为输入作为输入时,我们通常会合并排序,我们将数组递归将数组分为左和右半,并继续合并它们,直到整个数组对整个数组进行排序。但是,我们要使用的是 *merge功能。由于我们还使用链接列表,因此看起来会有所不同。自从我们给予k。

2024-04-10 18:19:29 489

原创 速成软件书:真的是神器吗?

总之,在挑选速成软件书籍时,我们需要擦亮双眼,综合考虑多个因素,从而找到最适合自己的那一本“神器”。同时,也要明白任何学习工具都有其适用范围,速成书籍虽好,但它永远不可能替代长期坚持、系统深入的学习和实践经验积累。

2024-04-10 18:05:22 555

原创 AI技术创业有哪些机会?

综上所述,AI技术的蓬勃发展为创业者开启了多元化且充满无限可能的新天地。无论是深入行业内部,创新性地提供定制化的AI解决方案,助力传统行业转型升级,还是着眼于消费市场,研发融合AI技术的智能产品和服务,满足人们对便捷、高效生活的追求,抑或是紧握时代脉搏,投身于AI教育与培训事业,培养输送适应未来发展的高素质AI人才,都是当前及未来极具潜力的创业方向。

2024-04-09 23:58:06 347

原创 零基础进入IT行业的策略与路径

总结起来,零基础进入IT行业需要有一个明确的学习计划,持续积累编程和相关领域的知识,通过实践项目提升技能,并积极融入行业社区,以实际工作经验强化自身的市场竞争力。同时,保持对新技术的关注和适应变化的能力也是成功的关键。

2024-04-09 23:51:12 463

原创 在 Vue 中处理国际化(I18N)

在编程,国际化和本地化中,通常缩写为I18N和L10N,是将计算机软件适应目标语言环境的不同语言,区域特点和技术要求的手段。国际化是设计软件应用程序的过程,因此可以在不进行工程更改的情况下将其适应各种语言和地区。本地化是通过翻译文本并添加语言环境来调整特定区域或语言的国际软件的过程-特定组件。现在,我们知道I18N和L10N是什么,让我们看看如何在Vue和Nuxt中实现它们。

2024-04-03 13:42:46 31

原创 PyTorch 中的 stack() 和 cat()

PyTorch 中的 stack() 和 cat()

2024-04-01 19:24:53 18

原创 Git 冲突指南

当两个分支更改文件的同一部分并且GIT无法自动合并更改时,就会发生GIT冲突。当你尝试合并或重新安排分支机构时,GIT将暂停该过程并标记冲突文件。

2024-04-01 17:04:51 315

原创 使用 GraphQL 和 Prisma 使 SQL 查询变得简单!

在本篇博客中,我们将看到如何使用Prisma和GraphQL构建SQL查询机制,我们将使用Apollo Client和GraphQL Server使用Express使用GraphQL

2024-04-01 16:00:47 629

原创 JavaScript 中的 Async 与 Defer,哪个更好?

大家好!我希望你一切都好。本文将探讨一个有趣的JavaScript主题。async和defer是在HTML文档中包括外部JavaScript文件时使用的属性。它们会影响浏览器加载并执行脚本的方式。让我们详细了解它们。

2024-04-01 15:28:10 113

原创 AI大模型学习的十种方法

编程是实现理论知识落地的关键步骤。在AI大模型的学习过程中,应熟练掌握Python编程语言,并且精通TensorFlow、PyTorch、Keras等深度学习框架的使用。从数据获取、清洗、预处理到模型构建、训练、调试、优化,每个阶段都需要实践操练,形成完整的项目开发流程。在这个过程中,不仅要学会如何设置和调整模型的超参数,理解各种优化算法(如梯度下降、动量梯度下降、Adam等)的工作原理,还要熟练运用交叉验证、网格搜索等方法来优化模型性能,并采用多样化的评估指标(如精度、召回率、AUC-ROC曲线、F1分数

2024-03-30 17:51:20 1055

原创 如何成为前端开发人员?

前端开发者负责用户的网站外观和感觉。他们在网站的设计和布局上工作,与前端不同-后端处理的开发人员,这场景诸如管理数据库和集成API之类的东西。前端开发人员专注于添加使网站运行良好并提供出色用户体验的视觉元素。

2024-03-30 17:18:19 864

原创 好用的 JavaScript 动画库

JavaScript动画库已成为开发人员的基本工具,旨在以迷人和交互式视觉元素丰富Web应用程序。这些库的演变显着简化了动画过程,使其更容易访问。通过利用合适的图书馆,开发人员有权制作令人印象深刻的动画,增强网站和应用程序的参与度和用户体验。动画有可能极大地改变网站的美学和氛围。当明智地利用以增强用户体验时,它们将成为宝贵的资产。动画在吸引注意力和增加网站的时间尤其有效,从而增加了流量。

2024-03-30 16:46:11 153

原创 在JavaScript中操作对象的方法

在JavaScript中,对象是一种复杂的数据类型,允许你存储多个值作为属性。操作对象意味着你可以添加、删除或修改这些属性。让我们探索几种在JavaScript中操作对象的基本方法。

2024-03-25 23:35:52 46 1

原创 Javascript 循环:for vs forEach vs for..

Javascript中有很多方法可以遍历Javascript中的项目数组或任何其他可迭代项目。这似乎是完成同一件事的很多方法,但它们都有自己的细微差别。要使其中任何一个正常工作,所讨论的项目也需要的。因此,虽然它们可以处理Map和数组等内容,但它们不会处理对象。字符串也是可迭代的。由于有很多方法,因此何时使用或Javascript可能会令人困惑。今天,让我们详细了解它们中的每一个的作用,以及何时使用它们。

2023-01-01 22:52:51 137 1

原创 Python 中的数字

我们使用数字来执行多个动作,例如数学动作或在不同场合使用的其他动作。区分 int 和 float 很重要,因为 float 在内存中占用了更多的空间。我们可以对这些数字执行另一个操作。这些操作被称为方法,我们将在本课程后面学习。我们可以将基本的数学动作,如加、减、乘、除等代码作为下面的代码。我们还可以使用python(如power)执行其他数学操作。那么10.9 + 1.1的结果是什么?2.浮点数,如10.5,3.1415,-100.5。1.整数,如3,10,1000,-50。如您所见,结果是浮动的。

2023-01-01 22:41:54 147

原创 如何基于 Pandas 数据帧中的其他数值字段创建新字段

此方法允许您指定新的列名称和列的值,这些值可以从数据帧中的一个或多个现有列派生。或者,您也可以使用熊猫。DataFrame.apply() 方法将自定义函数应用于数据帧的每一行,并根据该函数的输出创建新列。例如,假设您有一个包含列 A、B 和 C 的数据帧,并且您想要创建一个名为 D 的新列,该列等于列 A 和 B 的总和。此代码还将在数据帧中创建一个新的列 D,并将列 A 和 B 中的值相加。生成的数据帧将与上面显示的数据帧相同。此代码将在数据帧中创建一个新的列 D,并将列 A 和 B 中的值相加。

2023-01-01 22:36:36 422

原创 Javascript 数组的 Concat 方法

但基本前提是我们使用的数组在内存中保持与原始数组相同的引用。这意味着,尽管看起来创建了一个新数组,但它仍然与您修改的原始数组有联系。事实上,你提到的每个数组都是原始数组的浅拷贝。连接多个数组 我们已经研究了如何连接两个数组,但连接更多数组的工作方式大致相同。串联数组中的值 如果确实将简单值传递给他,则会将其视为数组元素。该方法创建它所应用到的数组的浅表副本,并在末尾添加任何其他数组。数组将按提及顺序合并。连接嵌套数组 嵌套数组以相同的方式连接。数组上的方法用于获取两个数组并将它们连接成一个数组。

2022-12-25 21:20:19 334

原创 如何在 Javascript 中检查一个数组是否是另一个数组的子集

为了评估一个数组是否是另一个数组的子集,我们可以在“子集”数组上的每个元素上运行。在函数中,我们可以测试“父”数组是否包含“子集”数组中的每个元素。在许多用例中,知道一个数组是否是另一个数组的子集可能非常有用 - 尽管通常对人眼来说很明显,但在代码中可能很难评估。此方法循环访问数组中的每个元素并对其执行测试。对于每个评估,我们都有一个“父”数组和一个“子集”数组 - 我们要检查“子集”数组是否完全包含在“父”数组中。如果我们想找出一个数组是否是另一个数组的子集,评估这一点的最佳方法是使用。

2022-12-25 21:09:44 386

原创 深入理解 Python 元类

SerializerMetaclass 在序列化程序类中创建一个_declared_fields字典,其中包含作为属性包含在序列化程序类中的 Field 类的所有实例(或作为继承的超类中的属性)。所以正如你所看到的,内置的类型方法是重载的,并且根据它作为参数得到的内容而表现不同(它并不真正符合 Python 的禅宗,对吧?我们的内置类型方法是元类 - 用作创建类的蓝图的类。幸运的是,就是这样。此外,现在我们知道类型是一个元类,我们可以对其进行子类化以创建我们自己的元类,并为类构造函数提供我们自己的逻辑。

2022-12-25 21:03:19 70

原创 使用 Python 在 Web CSS 选择器中进行爬取

这篇博文会定期更新。它是关于在进行网络抓取时了解 CSS 选择器,以及哪些工具可能方便使用。在 SerpApi,我们遇到了不同类型的选择器,其中一些非常复杂,包括复杂的逻辑,例如,逻辑可能包括选择器:has(),:not()如构建我们的 API 的旅程。我们要指出的是,这篇博文并不是完整的 CSS 选择器参考,而是对常用和更高级类型的选择器以及如何在使用代码示例进行网络抓取时使用它们的迷你导览。CSS 选择器是用于选择匹配你想要的元素风格从 HTML 页面中提取。

2022-12-18 18:26:02 1589

原创 使用 Javascript 创建和生成 UUID

通用唯一标识符 (UUID) 在软件开发中无处不在,用于从识别对象元素到网页上的 DOM 元素的所有内容。它们是唯一的 128 位标识符,由格式的 36 个字符组成 。例如 UUID 通常不依赖于注册表或数据库来确保唯一性。UUID 重复的可能性不是零,但它是如此接近,以至于大多数人忽略了风险。8-4-4-4-12f81e7af3-fcf4-4cdd-b3a3-14a8087aa191在Javascript中,有很多方法可以创建UUID。

2022-12-18 16:06:33 1734

原创 HTML 画布入门(六)如何将图像添加到 HTML 画布

裁剪效果将使用原始图像大小 - 因此,如果您的图像宽度为 1000px,就像这个一样,我们必须根据这些尺寸对其进行裁剪。然后,我们可以将图像绘制到我们喜欢的任何尺寸上。将图像添加到HTML画布取决于构造函数,它允许我们与Javascript中的图像进行交互。我们首先创建一个 ,然后将其 url(即)设置为我们想要显示的图像:new Image()在本文中,让我们看看如何轻松地将图像(喜欢和)添加到HTML画布。当图像加载(newImage.onload)时,我们将图像绘制到画布上。

2022-12-18 15:57:01 481

原创 HTML 画布入门(五)如何使用 HTML 画布绘制文本

HTML 画布上的文本无法突出显示,因为它是生成的最终图形的一部分。在 HTML 画布中换行文本比在其他地方要棘手一些,因为 HTML 画布中没有内置的文本换行功能。该字符串为我们提供了字体的基本样式,但是如果我们想更改颜色,我们可以重用该属性(其工作方式与形状相同)。如果要同时在 HTML 画布中填充和描边文本,请在同一位置使用相同的文本同时使用两者。与网络上的其他形式的文本类似,HTML Canvas 支持文本对齐和基线更改,以便我们进一步自定义文本。因此,我们最终得到这样的东西,其中线代表 300。

2022-12-18 15:50:09 344

原创 HTML 画布入门(四)如何将 HTML 画布另存为图像

在上面的示例中,我们创建了一个画布图像和一个按钮,您可以单击它进行下载。toDataURL(type, encoderOptions)有两个参数,可以让我们更改画布的编码方式。为此,我们使用 创建定位点,然后使用 单击它。Canvas 为我们提供了很大的灵活性来创建出色的代码生成图形,有时我们需要将它们下载为图像。但幸运的是,如果我们愿意,它可以让我们改变这一点。可见,将画布元素另存为图像非常简单,仅仅使用 toDataURL 即可。,它将我们的图像数据编码为易于下载的字符串。让我们看看这是如何工作的。

2022-12-18 15:36:03 525

原创 HTML 画布入门(三)使用 HTML 画布创建形状

我们可以使用许多不同的功能来绘制新的形状,这些函数可以通过 we set 使用。遵循类似的格式,只是它会创建一个自动描边的矩形。我们用来确定三角形的起始位置,然后根据需要绘制线条来绘制我们想要的三角形的形状。我们还谈到了一个事实,可用于在画布上的任何地方绘制线条,使我们能够制作更复杂的形状,如六边形和八边形。如您所见,所有这些函数都遵循相同的格式 - 它们在开始位置具有坐标,以及画布中的宽度和高度。在本指南中,我们介绍了如何在HTML画布中制作一些简单的形状:正方形,矩形,圆形和三角形。

2022-12-18 13:08:19 1717

原创 HTML 画布入门(二)如何清除 HTML 画布

当我们创建画布时,有时我们会想要在重绘其他内容之前完全清除它

2022-12-18 12:50:45 268

原创 HTML 画布入门(一)开始使用 Canvas

HTML canvas 是在 Javascript 和 HTML 中创建图形的最简单方法。您可能会看到它也写成HTML5 Canvas,因为它与向HTML5的转变密切相关。在本指南中,我们将介绍 HTML canvas 的基础知识,以及如何使用它。

2022-12-12 21:10:47 156

原创 如何在 HTML 画布中自动换行

尽管向 HTML 画布添加文本非常常见,但没有内置的换行功能。这意味着如果我们的文本太长,文本将跑到最后。以下面的示例为例,其中文本应该是“您好,此文本行很长。它会溢出来”。由于它太长而无法放入画布,因此它只是溢出而没有换行符:上面的文本从 px 开始,没有换行符。尽管很奇怪,但我们需要自己计算换行符应该在 HTML Canvas 中的位置。为此,我们可以使用自定义函数,并使用该函数中的数据放置换行符。

2022-12-12 20:52:44 915

原创 动态渲染如何使用 HTML 和 CSS 工作?

Lightning Web Components(LWC)是一个Web框架,它利用Web组件的强大功能并使它们非常快(因此有闪电这个词!LWC 是轻量级的,并且没有提供响应能力问题,因为它提供了在浏览器中本机运行的所有代码。本机代码还有助于提高执行速度,因为代码内置于浏览器中,并使用最佳算法进行优化。幸运的是,LWC利用了这一点。LWC具有内置的库和方法,可以帮助我们在桌面和移动设备上呈现动态HTML和CSS。在处理动态页面时,这些方法将作为我们整体算法的核心。

2022-12-11 22:24:30 937

原创 使用 Html、CSS 和 JavaScript 创建模态弹出框的方法

在创建网页设计时,要考虑的最重要的事情之一是用户交互性。用户交互性的一个很好的例子是模式框。模式框主要显示为基于用户执行的操作的消息框在浏览器中。模态框有不同的形式和形状,包括警报框、Flash 通知框、对话框、灯箱。等。模态框的独特之处在于,它禁用浏览器中的主窗口,但使其保持可见,模态窗口在网页前面显示为子窗口。在应用程序中使用模态的一些重要情况包括:显示针对某些操作过程的警告,这些警告可能是不可逆的。

2022-12-05 08:00:00 1230 2

原创 HTML 中用于文本的标记(标签)

HTML充满了许多不同的文本标签。这些标签允许我们以我们希望的方式在 HTML 文档中显示文本。虽然标签是HTML的基本功能,但有很多东西需要学习。大多数文本标签都是内联的,但也有例外。当一个元素是内联的时,这意味着默认情况下它们应用了以下CSS行:什么是 HTML 中的内联元素?文本的内联标签的行为与块元素不同。它们不会中断内容的流动,只会占用尽可能多的空间。另一方面,块元素往往占据页面的整个宽度。因此,文本的 HTML 标记都是内联的,因为它们用于编写文本,并且它们与页面上的其他内联元素一起流动。

2022-12-04 16:17:44 1651

快速幂&快速乘算法实现

快速幂、快速乘算法 算法核心在于位运算,利用二进制位运算将O(n)的算法复杂度降到O(logn) 快速幂算法是一种优化的幂运算方法,它通过减少乘法的次数来加快计算速度。这种算法利用了幂运算的性质,特别是幂的乘方和积的幂,通过平方和取模操作来逐步逼近最终结果。 快速乘算法是一种用于高效计算两个大整数相乘的方法,它避免了传统的逐位相乘,而是通过分治策略将大整数分解为较小的部分进行计算,然后重新组合结果。这种方法可以显著减少计算所需的步骤,特别是在处理非常大的数值时。

2024-04-13

golang 优先级队列,兼容 redis resp 协议

khronos golang 优先级队列,兼容 redis resp 协议 package main import ( "fmt" "github.com/eatmoreapple/khronos" ) func main() { khronos.ListenAndServe(":7464") }

2024-04-13

基于 kotlin Channel 的优先级异步任务队列

介绍 OptimusAsyncTask 将每个任务抽象成 OptimusTask,OptimusTask 可以设置任务执行时间,任务优先级,获取任务状态等。 同时 OptimusAsyncTask 提供了 OptimusTask 的默认实现类 BaseOptimusTask,它实现了 Comparable 接口,任务按照优先级排序。 优先级 TaskPriority 优先级的标准如下: TaskPriority.LOW < TaskPriority.DEFAULT < TaskPriority.HIGH 当优先级相同 按照插入次序排队 默认优先级是 TaskPriority.DEFAULT 任务 任务种类可分为 2 种,分别是 执行时间不确定 的任务和 执行时间确定 的任务。执行时间不确定的任务在任务执行完后需要调用 doNextTask() 方法执行下一个任务,否则会一直挂起。 执行时间确定的任务需要重写 getDuration() 方法返回具体的执行时间,单位是毫秒,执行时间到了会自动执行下一个任务。

2024-04-13

基于网页的双人骰子游戏

游戏规则: 点击骰子:每位玩家轮流点击一次骰子。 比较大小:点击后,骰子会随机显示一个点数(通常是1到6)。玩家之间比较各自骰子的点数大小。 判定胜负:点数大的玩家为当轮胜利者。如果点数相同,则视为平局,可以重新进行一轮。 继续游戏:胜利者可以继续与其他玩家进行下一轮的比较,直到所有玩家都参与过一轮比较,或者达到游戏设定的结束条件(如某玩家连续胜利若干轮等)。 结束游戏:当满足游戏结束条件时,最终胜利者产生,游戏结束。 这个游戏简单明了,非常适合快速进行一轮或多轮的小游戏。当然,您也可以根据实际需要添加一些额外的规则或设定,以增加游戏的趣味性和挑战性。

2024-03-30

空空如也

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

TA关注的人

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