数据结构与算法

【数据结构初阶第十八节】八大排序系列(上篇)—[详细动态图解+代码解析]

看似不起眼的日复一日,总会在某一天让你看到坚持的意义。​​​​​​云边有个稻草人-CSDN博客 hello,好久不见! 目录一. 排序的概念及运用1. 概念2. 运用 3. 常见排序算法二. 实现常见排序算法1. 插入排序(1)直接插入排序【图解】【代码】【直接插入排序的特性总结】【冒泡排序,堆排序,直接插入排序时间复杂度比较】(2)希尔排

《算法闯关指南:动态规划算法--斐波拉契数列模型》--03.使用最小花费爬楼梯

🔥草莓熊Lotso:个人主页 ❄️个人专栏: 《C++知识分享》 《Linux 入门到实践:零基础也能懂》 ✨生活是默默的坚持,毅力是永久的享受! 🎬 博主简介: 文章目录 前言: 03. 使用最小花费爬楼梯 解法(动态

贪心算法(局部最优实现全局最优)第二篇

目录1. LeetCode376. 摆动序列2. LeetCode334. 递增的三元子序列3. LeetCode674. 最长连续递增序列4. LeetCode121. 买卖股票的最佳时机今天我们继续来聊聊贪心算法,因为我在前面也说过贪心算法最重要的就是经验,所以我们今天继续通过刷题的方式来学习贪心算法。1. LeetCode376. 摆动序列 这道题的意思其实也比较

【算法通关指南:数据结构和算法篇(二) 】别再用指针写链表了!数组模拟单 / 双向链表,C++ 实战超丝滑

🔥小龙报:个人主页 🎬作者简介:C++研发,嵌入式,机器人方向学习者 ❄️个人专栏:《算法通关指南》 ✨ 永远相信美好的事情即将发生 文章目录 前言 一、链表的概念 1.1 链表的定义 1.2 链表的分类 二、链表的模拟实现 2.1 单链表的模拟实现

算法基础篇:(二十一)数据结构之单调栈:从原理到实战,玩转高效解题

目录前言一、什么是单调栈?先打破 “栈” 的常规认知1.1 单调栈的核心特性1.2 如何实现一个单调栈?实现单调递增栈实现单调递减栈1.3 核心操作解析:为什么要 “弹出元素”?二、单调栈能解决什么问题?四大核心场景全覆盖2.1 场景 1:找左侧最近的 “更大元素”问题描述解题思路代码实现测试用例验证2.2 场景

【算法】最长公共子序列(C/C++)

最长公共子序列(LCS,Longest Common Subsequence)问题简称(LCS),是动态规划里面里面的基础算法。它的所解决的问题是,在两个序列中找到一个序列,使得它既是第一个序列的子序列,也是第二个序列的子序列,并且该序列长度最长。由下图中两个

算法基础篇:(十二)基础算法之倍增思想:从快速幂到大数据运算优化

目录前言一、什么是倍增思想?—— 从 “一步步走” 到 “跳着走”1.1 倍增思想的核心本质1.2 倍增思想的数学基础1.3 倍增思想的适用场景二、倍增思想的入门实践:快速幂(O (log b) 求 a^b mod p)2.1 问题引入:为什么需要快速幂?2.2 快速幂的原理:二进制分解 +

Java模拟算法题目练习

模拟算法 替换所有的问好 提莫攻击 Z字形变换 外观数列 数青蛙 模拟算法就是根据其题目进行一步一步操作即可,相对而言较简单,但是边界情况要处理好(细节问题) 替换所有的问好 题目解析:将s字符串中的?全部替换成小写字母,并且替换?的字符不可以与原本?相邻的两个字符相等 模拟&#xff

探秘HTTP与URL:解锁网络通信的密钥

目录一、HTTP 协议概述二、URL 结构解析1、协议方案名常见应用层协议汇总2、登录认证信息3、服务器地址1. 域名 vs IP 地址2. 一句话概括DNS(域名系统)3. 一个生动的比喻:找房子4. DNS 查询的简要过程5. 总结 DNS 的核心作用4、服务器端口号常见协议默认端口5、资源路径路径结构特点6、查询字符串7、片段标识符8、技术要点总结三

day109—同向双指针(字符串)—每个字符最多出现两次的最长子字符串(LeetCode-3090)

题目描述给你一个字符串 s ,请找出满足每个字符最多出现两次的最长子字符串,并返回该子字符串的 最大 长度。示例 1:输入: s = "bcbbbcba"输出: 4解释:以下子字符串长度为 4,并且每个字符最多出现两次:"bcbbbcba"。示例