当前位置: 首页 > news >正文

C++算法第十六天

本篇文章我们继续学习动态规划

第一题

题目链接

978. 最长湍流子数组 - 力扣(LeetCode)

题目解析

从上图可见其实有三个状态

代码原理

注意:我们在分析题目的时候分析出来的是三个状态,分别是上升、下降、平坦,但是不一定要定义三个状态表示,一个不够加一个,直到可以解决这道题为止

代码编写

class Solution {

public:

    int maxTurbulenceSize(vector<int>& arr) {

        int n = arr.size();

        vector<int> f(n, 1);

        auto g = f;

        int ret = 1;

        for(int i = 1; i < n; i++)

        {

            if(arr[i] > arr[i - 1])f[i] = g[i - 1] + 1;

            else if(arr[i] < arr[i - 1])g[i] = f[i - 1] + 1;

            ret = max(ret, max(f[i], g[i]));

        }

        return ret;

    }

};

第二题

题目链接

413. 等差数列划分 - 力扣(LeetCode)

题目解析

代码原理

代码编写

class Solution {

public:

    int numberOfArithmeticSlices(vector<int>& nums) {

        int n = nums.size();

        vector<int> dp(n);

        int count = 0;

        for(int i = 2; i < n; i++)

        {

            dp[i] = nums[i] - nums[i - 1] == nums[i - 1] - nums[i - 2]? dp[i - 1] + 1:0;

            count += dp[i];

        }

        return count;

    }

};

第三题

题目链接

139. 单词拆分 - 力扣(LeetCode)

题目解析

代码原理

代码编写

class Solution {

public:

    bool wordBreak(string s, vector<string>& wordDict) {

        unordered_set<string> hash;

        for(auto cur: wordDict) hash.insert(cur);

        int n = s.size();

        vector<bool>dp(n + 1);

        dp[0] = true;

        s = ' ' + s;//保证字符串的长度与dp表的长度一致

        for(int i = 1; i <= n; i++)

        {

            for(int j = i; j >= 1; j--)

            {

                if(dp[j - 1] && hash.count(s.substr(j, i - j + 1)))

                {

                    dp[i] = true;

                    break;

                }

            }

        }

        return dp[n];

    }

};

本篇文章的内容就先到这里,我们下期文章再见!!!

记得一键三联哦!!!

相关文章:

C++算法第十六天

本篇文章我们继续学习动态规划 第一题 题目链接 978. 最长湍流子数组 - 力扣&#xff08;LeetCode&#xff09; 题目解析 从上图可见其实有三个状态 代码原理 注意&#xff1a;我们在分析题目的时候分析出来的是三个状态&#xff0c;分别是上升、下降、平坦&#xff0c;但是…...

计算机网络 (45)动态主机配置协议DHCP

前言 计算机网络中的动态主机配置协议&#xff08;DHCP&#xff0c;Dynamic Host Configuration Protocol&#xff09;是一种网络管理协议&#xff0c;主要用于自动分配IP地址和其他网络配置参数给连接到网络的设备。 一、基本概念 定义&#xff1a;DHCP是一种网络协议&#xf…...

归子莫的科技周刊#2:白天搬砖,夜里读诗

归子莫的科技周刊#2&#xff1a;白天搬砖&#xff0c;夜里读诗 本周刊开源&#xff0c;欢迎投稿。 刊期&#xff1a;2025.1.5 - 2025.1.11。原文地址。 封面图 下班在深圳看到的夕阳&#xff0c;能遇到是一种偶然的机会&#xff0c;能拍下更是一种幸运。 白天搬砖&#xff0c;…...

平滑算法 效果比较

目录 高斯平滑 效果对比 移动平均效果比较: 高斯平滑 效果对比 右边两个参数是1.5 2 代码: smooth_demo.py import numpy as np import cv2 from scipy.ndimage import gaussian_filter1ddef gaussian_smooth_array(arr, sigma):smoothed_arr = gaussian_filter1d(arr, s…...

Elasticsearch容器启动报错:AccessDeniedException[/usr/share/elasticsearch/data/nodes];

AccessDeniedException 表明 Elasticsearch 容器无法访问或写入数据目录 /usr/share/elasticsearch/data/nodes。这是一个权限问题。 问题原因&#xff1a; 1、宿主机目录权限不足&#xff1a;映射到容器的数据目录 /data/es/data 在宿主机上可能没有足够的权限供容器访问。 …...

【Linux系统编程】——深入理解 GCC/G++ 编译过程及常用选项详解

文章目录 1. GCC/G 编译过程预处理&#xff08;Preprocessing&#xff09;编译&#xff08;Compilation&#xff09;汇编&#xff08;Assembly&#xff09;连接&#xff08;Linking&#xff09; 静态链接与动态链接静态链接动态链接静态库和动态库 GCC 常用选项关于编译器的周边…...

Mac安装配置使用nginx的一系列问题

brew安装nginx https://juejin.cn/post/6986190222241464350 使用brew安装nginx&#xff0c;如下命令所示&#xff1a; brew install nginx 如下图所示&#xff1a; 2.查看nginx的配置信息&#xff0c;如下命令&#xff1a; brew info nginxFrom:xxx 这样的&#xff0c;是n…...

Vue3中使用组合式API通过路由传值详解

在Vue 3中&#xff0c;使用组合式API来传递路由参数是一种常见的需求。Vue Router 是 Vue.js 的官方路由管理工具&#xff0c;可以在不同的场景下通过多种方式传递和接收路由参数。下面将详细讲解几种常见的路由传值方式&#xff0c;并提供相应的代码示例。 1. 通过路由参数传…...

两分钟解决 :![rejected] master -> master (fetch first) , 无法正常push到远端库

目录 分析问题的原因解决 分析问题的原因 在git push的时候莫名遇到这种情况 若你在git上修改了如README.md的文件。由于本地是没有README.md文件的&#xff0c;所以导致 远端仓库git和本地不同步。 将远端、本地进行合并就可以很好的解决这个问题 注意&#xff1a;直接git pu…...

浏览器安全(同源策略及浏览器沙箱)

一、同源策略&#xff08;Same Origin Policy&#xff09; 1.定义 同源策略&#xff08;Same - origin Policy&#xff09;是一种浏览器的安全机制。它规定一个网页的脚本只能访问和操作与它同源的资源。这里的 “源” 包括协议&#xff08;如 http、https&#xff09;、域名&…...

w~Transformer~合集11

我自己的原文哦~ https://blog.51cto.com/whaosoft/12472192 #LightSeq 最高加速9倍&#xff01;字节跳动开源8比特混合精度Transformer引擎,近年来&#xff0c;Transformer 已经成为了 NLP 和 CV 等领域的主流模型&#xff0c;但庞大的模型参数限制了它的高效训练和推理。…...

Coursera四门课备考入学考试

某学校入学考试复习用&#xff0c;刷到的话纯靠缘分&#xff0c;不方便回答多余问题 &#xff08;博主本人waive掉了没有考过&#xff0c;但还是基本都学完了&#xff09; 记录学习coursera的四门课&#xff08;顺序Py在DS前&#xff0c;其他无所谓&#xff09; Mathematics fo…...

Flink(八):DataStream API (五) Join

1. Window Join Window join 作用在两个流中有相同 key 且处于相同窗口的元素上。这些窗口可以通过 window assigner 定义&#xff0c;并且两个流中的元素都会被用于计算窗口的结果。两个流中的元素在组合之后&#xff0c;会被传递给用户定义的 JoinFunction 或 FlatJoinFunct…...

HarmonyOS NEXT边学边玩:从零实现一个影视App(六、视频播放页的实现)

在HarmonyOS NEXT中&#xff0c;ArkUI是一个非常强大的UI框架&#xff0c;能够帮助开发者快速构建出美观且功能丰富的用户界面。本文将详细介绍如何使用ArkUI实现一个影视App的视频播放页面。将从零开始&#xff0c;逐步构建一个功能完善的视频播放页面&#xff0c;并解释每一部…...

salesforce实现一个字段的默认初始值根据另一个字段的值来自动确定

在 Salesforce 中&#xff0c;可以通过 公式字段 或 触发器 (Trigger) 实现字段的默认初始值根据另一个字段的值来自动确定&#xff0c;具体实现方法如下&#xff1a; 1. 使用公式字段 公式字段是一种动态字段&#xff0c;值会根据公式实时计算。 步骤&#xff1a; 导航到字段…...

Linux 文件权限详解

目录 前言 查看文件权限 修改文件权限 符号方式 数字方式 前言 Linux 文件权限是系统中非常重要的概念之一&#xff0c;用于控制对文件和目录的访问。权限分为读&#xff08;Read&#xff09;、写&#xff08;Write&#xff09;、执行&#xff08;Execute&#xff09;三个…...

【混合开发】CefSharp+Vue桌面应用程序开发

为什么选择CefSharpVue做桌面应用程序 CefSharp 基于 Chromium Embedded Framework (CEF) &#xff0c;它可以将 Chromium 浏览器的功能嵌入到 .NET 应用程序中。通过 CefSharp&#xff0c;开发者可以在桌面应用程序中集成 Web 技术&#xff0c;包括 HTML、JavaScript、CSS 等…...

springBoot项目使用Elasticsearch教程

目录 一、引言&#xff08;一&#xff09;使用背景&#xff08;二&#xff09;版本库区别 二、引入依赖&#xff08;一&#xff09;springboot集成的es依赖&#xff08;建议&#xff09;&#xff08;二&#xff09;es提供的客户端库 三、配置&#xff08;以yaml文件为例&#x…...

模型 多元化思维(系统科学)

系列文章分享模型&#xff0c;了解更多&#x1f449; 模型_思维模型目录。融合多学科知识&#xff0c;全面解决问题。 1 多元化思维模型的应用 1.1 完美日记的私域流量运营 完美日记作为美妆行业的新兴品牌&#xff0c;通过多元化的思维模型在私域流量运营中取得了显著成功。…...

Google地图瓦片爬虫

地图地址说明 1、谷歌矢量(中文标注) http://mt{0-3}.google.cn/vt/vm416115521&hlzh-CN&glcn&x{x}&y{y}&z{z}&sGalileo 2、谷歌矢量(英文标注) http://mt{0-3}.google.cn/vt/vm416115521&hlen&glcn&x{x}&y{y}&z{z}&sGali…...

当openclaw遇见ai:借助快马平台打造能理解内容的智能抓取命令

最近在开发一个叫openclaw的网页抓取工具时&#xff0c;发现单纯抓取网页内容已经不能满足需求了。很多时候我们需要对抓取的内容进行二次处理&#xff0c;比如自动摘要、分类、去噪等。这时候就想到了借助AI来增强工具的能力&#xff0c;正好发现了InsCode(快马)平台这个好帮手…...

SEO优化建站费用是多少_SEO建站平台有哪些_哪个比较好

SEO优化建站费用是多少&#xff1f;SEO建站平台有哪些&#xff1f;哪个比较好&#xff1f; 在当今数字化时代&#xff0c;建立一个成功的网站不仅仅是创建一个静态的信息展示平台&#xff0c;更是要通过SEO优化提升网站的可见性和流量。SEO优化建站费用是多少呢&#xff1f;SEO…...

基于物理信息神经网络的Burgers-Fisher方程求解方法研究(Python代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

避开深沟槽工艺的“坑”:从DLTS数据到TCAD仿真的硅光电二极管陷阱态优化实战

硅光电二极管陷阱态优化的工程实践&#xff1a;从DLTS表征到TCAD仿真 在半导体制造领域&#xff0c;深沟槽隔离&#xff08;DTI&#xff09;工艺虽然能有效解决器件间的串扰问题&#xff0c;但其引入的界面陷阱态却成为光电二极管性能提升的"隐形杀手"。工艺工程师们…...

从Gazebo到真实硬件:robot_state_publisher在ROS 2仿真迁移中的5个关键配置项

从Gazebo到真实硬件&#xff1a;robot_state_publisher在ROS 2仿真迁移中的5个关键配置项 当你在Gazebo中完成机器人运动算法的仿真验证后&#xff0c;下一步就是将这套系统部署到真实硬件上。这个过程中&#xff0c;robot_state_publisher的配置往往是工程师们最容易踩坑的环节…...

别再手动调时间了!手把手教你用LinuxPTP的ptp4l和phc2sys搞定TSN网络时钟同步

工业TSN网络高精度时钟同步实战&#xff1a;从原理到生产环境部署 在工业自动化、智能驾驶和实时音视频传输领域&#xff0c;微秒级的时间同步已成为刚需。传统NTP协议毫秒级的精度在这些场景下显得力不从心&#xff0c;而基于IEEE 1588和802.1AS协议的PTP&#xff08;精确时间…...

救命!电路板维修高频故障排查口诀,背会秒上手,修板快准稳

修板半天没头绪&#xff1f;工控伺服板一修就慌&#xff1f;测遍元件还烧板&#xff1f;其实电路板故障排查不用死磕&#xff0c;一套好记的速记口诀&#xff0c;能帮你少走弯路、少赔成本&#xff0c;新手能快速上手&#xff0c;老手直接拉高效率&#xff0c;刷到这篇干货&…...

STM32串口通信实战指南与常见问题解析

1. 串口通信基础概念解析串口通信作为嵌入式系统中最基础也最常用的通信方式之一&#xff0c;其核心原理是通过单根数据线按位顺序传输数据。与并行通信相比&#xff0c;虽然传输速率较低&#xff0c;但具有布线简单、成本低廉、传输距离远等显著优势。在实际工程应用中&#x…...

seo公司招聘的实习机会有哪些

SEO公司招聘的实习机会有哪些&#xff1f; 在当今数字化时代&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;已经成为企业在网络上获得高流量和高曝光度的关键手段。随着越来越多的企业意识到SEO的重要性&#xff0c;SEO公司也在不断扩展&#xff0c;吸引大量优秀的实习…...

光模块技术解析:从封装到以太网标准的全面指南

1. 光模块的封装类型与演进 第一次拆开数据中心机柜时&#xff0c;我看到那些花花绿绿的光模块插在交换机上&#xff0c;像极了乐高积木。后来才知道&#xff0c;这些"积木"的形态差异背后是封装技术的迭代史。目前主流的光模块封装类型可以分成三代产品&#xff1a;…...