TechBlog
首页分类标签搜索关于
← 返回分类列表
加载中...

© 2025 TechBlog. All rights reserved.

分类

共 117 篇文章
算法动态规划斐波那契数模型

算法动态规划斐波那契数模型

斐波那契模型

时间:10/24/2025

算法十大排序

算法十大排序

本文介绍了常见的排序算法及其分类。主要包括:基于插入的排序(直接插入排序、希尔排序)、基于交换的排序(冒泡排序、快速排序)、基于选择的排序(简单选择排序、堆排序)以及其他排序(归并排序、基于统计的排序)。详细分析了每种算法的时间复杂度、稳定性、空间复杂度等特性,并提供了C++代码实现。其中重点阐述了直接插入排序的优化变种(折半插入、二路插入),以及快速排序、堆排序等高效算法的分治思想。文章还介绍了基于统计的特殊排序方法如计数排序、桶排序和基数排序的工作原理。

时间:10/23/2025

LeetCode75.-颜色分类

LeetCode75.-颜色分类

本文介绍了荷兰国旗问题的解法,要求将只含0、1、2的数组原地排序。核心方法是三指针分区算法:使用left、cur、right三个指针将数组分为0、1、2三个区域,通过交换元素实现单趟O(n)排序。相比计数排序需要两次遍历和快速排序的O(nlogn)复杂度,三指针算法在时间和空间上都是最优解。关键点在于处理2时保持cur不变以检查交换来的元素,确保正确分区。该算法适用于类似的三值分类问题。

时间:10/16/2025

力扣2200.-找出数组中的所有-K-近邻下标

力扣2200.-找出数组中的所有-K-近邻下标

力扣2200. 找出数组中的所有 K 近邻下标 滑动窗口

时间:10/04/2025

C版搜索与图论算法

C版搜索与图论算法

有些题目不是完整的题目,如需查看完整的题目请移步到acwing的算法基础课中。

时间:09/29/2025

速通ACM省铜第四天-赋源码G-C-D,-Unlucky

速通ACM省铜第四天-赋源码G-C-D,-Unlucky

本文解析了一道CF难度1400分的编程题,要求验证是否存在满足特定条件的数组。题目给出两个数组,分别代表从前往后和从后往前求公约数的结果。解题关键包括四个条件验证:1)两个数组首尾元素必须相等;2)两个数组必须保持单调性;3)相邻元素需满足公约数关系;4)特定位置元素的最大公约数必须等于整个数组的公约数。作者提供了详细的逻辑分析和C++实现代码,最终通过四个条件的验证判断是否存在符合条件的数组。该解法思路清晰,条件验证全面,适合算法学习者参考。

时间:09/14/2025

贪心算法最优装载问题

贪心算法最优装载问题

贪心算法是一种通过局部最优选择逐步逼近全局最优解的启发式算法。其核心思想是在每个决策阶段选择当前最优解,而不考虑后续影响。该算法适用于具有贪心选择性质(局部最优可组合成全局最优)和最优子结构(子问题最优解能构建原问题最优解)的问题。典型应用包括活动选择、哈夫曼编码、最小生成树和最短路径问题。文中以最优装载问题为例,展示了贪心算法的实现步骤:排序物品重量后,从最轻开始装载直至达到容量限制。贪心算法虽高效,但需严格验证其适用性,否则可能无法得到全局最优解。

时间:09/10/2025

算法-二分

算法-二分

二分算法是一种高效查找方法,其核心在于通过二段性将问题区间一分为二。虽然细节复杂容易出错,但掌握原理后应用广泛,不仅限于有序数组。算法适用于单调性或可二分性问题,包括目标值查找、边界确定、最值优化等场景。关键点在于正确选择搜索区间、定义判断条件和处理终止条件。二分模板包括朴素查找、左右边界查找三种形式,需根据具体问题灵活选择而非死记硬背。典型应用场景包括旋转数组查找、峰值检测等,重点是通过分析问题特征建立二段性判断标准。实际解题时应注重问题分析而非模板套用,理解二分本质才能有效解决各类变种问题。

时间:08/28/2025

力扣872.-叶子相似的树

力扣872.-叶子相似的树

算法刷题 二叉树前中后序遍历 lc872

时间:07/26/2025

深度优先搜索DFS与方格图的连通性判断

深度优先搜索DFS与方格图的连通性判断

深度优先搜索(DFS)与方格图的连通性判断

时间:03/16/2025

PyTorch-实现-Conditional-DCGAN条件深度卷积生成对抗网络进行图像到图像转换的示例代码

PyTorch-实现-Conditional-DCGAN条件深度卷积生成对抗网络进行图像到图像转换的示例代码

生成器# 输入: [batch_size, z_dim + 4, 1, 1]nn.Tanh()),# 判别器# 输入: [batch_size, img_channels + 4, 64, 64]nn.Conv2d(),

时间:03/16/2025

介绍如何使用YOLOv8模型进行基于深度学习的吸烟行为检测

介绍如何使用YOLOv8模型进行基于深度学习的吸烟行为检测

下面为你详细介绍如何使用YOLOv8模型进行基于深度学习的吸烟行为检测,包含环境配置、数据准备、模型训练以及推理等步骤。

时间:03/16/2025

数据结构-树详解

数据结构-树详解

树是一种重要的非线性数据结构,具有层次关系和灵活的组织方式。通过理解树的基本概念、节点结构和操作,我们可以更好地应用树来解决各种实际问题,如组织层次数据、实现查找算法等。希望本文的讲解和示例对您有所帮助,如果您对树或其他数据结构有任何疑问,欢迎随时交流探讨!

时间:03/16/2025

LRU缓存

LRU缓存

LRU是平衡实现复杂度与效率的通用缓存策略,核心价值在于利用时间局部性,适用于数据访问模式具有“近期重复性”的场景。

时间:03/16/2025

算法014找到字符串中所有字母异位词

算法014找到字符串中所有字母异位词

此时,窗口大于 m ,让 left 右移,再将第一个 c 从 hash2 中删除之前,我们要先判断此时这个字符出现的次数是否大于 hash1 中的次数,这种情况,显然是大于,那么删掉的就是无效字符,count 不需要变化,此时 c 的个数变成了 1。我们定义一个变量 m 表示 p 字符串的长度,我们将 p 字符串中字母出现的次数存放在 hash1 中,在 s 这个字符串中,找到长度为 m 的子串 ,将次数存放到 hash2 中,然后比较两个哈希表是否相等就可以。接下来的遍历就省略了。

时间:03/16/2025

后端开发中CRUD的详细讲解

后端开发中CRUD的详细讲解

通过对CRUD操作的高级应用、最佳实践以及在不同框架中的实现方式的拓展讲解,希望能够帮助大家更全面地理解和掌握这一后端开发的核心内容。在实际项目中,灵活运用事务管理、批量操作、缓存等技术,遵循输入验证、分页查询、日志记录等最佳实践,根据项目需求选择合适的ORM框架,能够有效地提高开发效率和系统性能。在面试中,深入理解这些知识并能够清晰地表达出来,将为你增添竞争力。不断学习和实践,你将在后端开发的道路上越走越远!

时间:03/16/2025

C-STL算法函数-应用及其操作实现

C-STL算法函数-应用及其操作实现

C++ STL算法函数 —— 应用及其操作实现

时间:03/15/2025

正则表达式全解析-Java常用示例

正则表达式全解析-Java常用示例

正则表达式是一种强大的文本处理工具,通过使用特定的语法可以定义复杂的匹配模式。在 Java 中,可以使用Pattern和Matcher类来处理正则表达式,实现匹配、替换和分割等操作。掌握正则表达式的基本语法和常用示例,可以大大提高我们在文本处理和数据验证方面的开发效率。希望本文的讲解和示例对您有所帮助,如果您在使用正则表达式时有任何疑问,欢迎随时交流探讨!

时间:03/15/2025

微服务调试多环境-env-组件详解

微服务调试多环境-env-组件详解

通过本文的详细讲解,我们深入理解了 yudao-spring-boot-starter-env 组件在微服务调试中的重要作用及其实现原理。同时,通过功能演示,我们直观地看到了该组件在实际开发中的应用效果。此外,我们还探讨了其未来在 MQ 消息队列调试方面的拓展方向。希望本文的内容能够帮助开发人员更好地应对微服务架构下的调试挑战,提高开发效率和代码质量。

时间:03/15/2025

关于ISP-Pipeline-LSC镜头阴影校正位置的一些想法

关于ISP-Pipeline-LSC镜头阴影校正位置的一些想法

关于ISP Pipeline LSC(镜头阴影校正)位置的一些想法

时间:03/15/2025

多时间尺度的配电网深度强化学习无功优化策略的Python示例代码框架

多时间尺度的配电网深度强化学习无功优化策略的Python示例代码框架

以下是一个简单的多时间尺度的配电网深度强化学习无功优化策略的Python示例代码框架,用于帮助你理解如何使用深度强化学习(以深度Q网络 DQN 为例)来处理配电网的无功优化问题。在实际应用中,你可能需要根据具体的配电网模型和需求进行大量的修改和扩展。请注意,这只是一个非常基础的示例,实际的配电网无功优化问题需要更复杂的环境建模、状态表示和奖励设计。你可能需要结合电力系统的专业知识和实际数据进行进一步的开发和优化。

时间:03/15/2025

算法系列之回溯算法求解数独及所有可能解

算法系列之回溯算法求解数独及所有可能解

数独求解的核心算法是回溯算法。回溯算法是一种通过逐步构建解决方案并在遇到冲突时回退的算法。具体来说,我们尝试在空格中填入一个数字,然后递归地继续填充下一个空格。如果在某个步骤中发现无法继续填充,则回退到上一步并尝试其他数字。

时间:03/14/2025

动态路径规划01背包问题讲解和通过滚动数组优化

动态路径规划01背包问题讲解和通过滚动数组优化

我们在填表的时候发现只用到了相邻的两行其实这里可以用滚动数组来优化,只需要一个dp[N]即可当我们填表时只需要在原表操作,但是我们的填表顺序变为了从右往左因为在填dp[i][j]时我们用到了dp[i-1][j]和dp[i-1][j-v[i]]显然dp[i-1][j-v[i]]位置在dp[i-1][j]前面所以如果从左往右填表会导致在填后一个位置的时候前面的位置的值已经被更新。2.1 当我们不拿时那么我们的dp[i][j]显然和dp[i-1][j]是相等的。3.2 当j为0时说明容积为0那么最大价值也是0。

时间:03/14/2025

C语言数据结构理解什么是数据结构和算法启航

C语言数据结构理解什么是数据结构和算法启航

启航篇,理解什么是数据结构和算法在 C 语言编程领域,数据结构和算法是两个核心且紧密相关的概念

时间:03/13/2025

上一页
12345
下一页第 1 / 5 页