当前位置: 首页 > 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…...

为什么92%的Sora 2初学者卡在第4步?——帧一致性崩塌诊断工具包+时间轴锚点校准法

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;Sora 2视频生成的核心原理与环境准备 Sora 2并非OpenAI官方发布的模型&#xff0c;而是社区基于Sora技术理念构建的开源复现与增强框架&#xff0c;其核心依托于时空联合建模的扩散变换器&#xff08;Spacetim…...

3分钟快速上手:用BetterNCM安装器彻底改造你的网易云音乐

3分钟快速上手&#xff1a;用BetterNCM安装器彻底改造你的网易云音乐 【免费下载链接】BetterNCM-Installer 一键安装 Better 系软件 项目地址: https://gitcode.com/gh_mirrors/be/BetterNCM-Installer 还在使用功能单一的网易云音乐吗&#xff1f;想不想让你的播放器拥…...

【DeepSeek架构评审功能深度解密】:20年架构师亲授3大避坑指南与5步落地 checklist

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;DeepSeek架构评审功能全景概览 DeepSeek架构评审功能是一套面向大模型系统设计与工程落地的自动化分析框架&#xff0c;聚焦于模型结构合理性、计算图优化潜力、内存访问模式、算子兼容性及部署约束等多维度评…...

WTF Auto Layout? 实战:10个常见约束冲突案例解析与解决方案

WTF Auto Layout? 实战&#xff1a;10个常见约束冲突案例解析与解决方案 【免费下载链接】wtfautolayout The source code for Why The Failure, Auto Layout? 项目地址: https://gitcode.com/gh_mirrors/wt/wtfautolayout 在iOS开发中&#xff0c;Auto Layout是构建灵…...

基于Netburner NANO54415构建工业级嵌入式Web服务器:从硬件选型到广域监控实战

1. 项目概述&#xff1a;一个为广域与本地监控而生的嵌入式Web服务器如果你正在寻找一个能部署在野外、工厂角落或者任何需要远程数据采集与控制场景下的嵌入式Web服务器方案&#xff0c;并且对市面上那些要么性能孱弱、要么开发门槛极高的开发板感到厌倦&#xff0c;那么这个基…...

Graphin高级应用:结合GISDK构建配置化图分析模块的完整指南

Graphin高级应用&#xff1a;结合GISDK构建配置化图分析模块的完整指南 【免费下载链接】Graphin &#x1f30c; A React toolkit for graph visualization based on G6. 项目地址: https://gitcode.com/gh_mirrors/gr/Graphin 在当今数据驱动的时代&#xff0c;图可视化…...

2026论文顶级降AI率工具大曝光:一键把AIGC率降至安全线!

步入2026年&#xff0c;学术圈的规则已经彻底变了味。过去那种只盯着查重率的“降重焦虑”早就被更可怕的“降AI焦虑”取代了。AI检测算法越来越聪明&#xff0c;高校审核标准也越来越严苛&#xff0c;光是把重复率压下去已经完全不够用了。现在摆在学生和科研人员面前的难题是…...

2026数据治理平台选型:五款产品如何赋能数据中台建设?

一、引言&#xff1a;数据中台的成败&#xff0c;关键在治理在数字化浪潮的席卷下&#xff0c;“数据中台”已成为当代企业信息化架构中的核心战略组件。然而&#xff0c;一个悖论正困扰着大量企业&#xff1a;数据中台的基础设施搭建日趋完善&#xff0c;但真正将数据转化为业…...

2026上海GEO生成式引擎优化服务商综合实力测评:谁在真正帮品牌进入AI答案

当企业在讨论“上海生成式引擎优化公司哪家好”时&#xff0c;这个问题本身就反映了市场一个关键的转折。两三年前&#xff0c;企业营销的主战场还是搜索引擎排名和官网访问量。现在&#xff0c;决策者开始频繁向DeepSeek、豆包、通义千问等AI工具提问&#xff0c;而这些生成式…...

OpenCore Legacy Patcher完整指南:让老旧Mac焕发新生,运行最新macOS

OpenCore Legacy Patcher完整指南&#xff1a;让老旧Mac焕发新生&#xff0c;运行最新macOS 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 你是否有一台被苹…...