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

力扣 -- 873. 最长的斐波那契子序列的长度

解题步骤:

参考代码:

class Solution {
public:int lenLongestFibSubseq(vector<int>& nums) {int n=nums.size();unordered_map<int,int> hash;for(int i=0;i<n;i++){hash[nums[i]]=i;}int ret=2;vector<vector<int>> dp(n,vector<int>(n,2));//先固定最后一个元素,因为至少三个元素才能组成斐波那契子序列,//所以j可以从2开始for(int j=2;j<n;j++){//固定倒数第二个元素,同上,i从1开始for(int i=1;i<j;i++){int b=nums[i];int c=nums[j];int a=c-b;//这里先判断a是否合法,再判断a在不在哈希表,因为查找效率更慢一下if(a<b&&hash.count(a)){dp[i][j]=dp[hash[a]][i]+1;}ret=max(ret,dp[i][j]);}}return ret<3?0:ret;}
};

你学会了吗???

相关文章:

力扣 -- 873. 最长的斐波那契子序列的长度

解题步骤&#xff1a; 参考代码&#xff1a; class Solution { public:int lenLongestFibSubseq(vector<int>& nums) {int nnums.size();unordered_map<int,int> hash;for(int i0;i<n;i){hash[nums[i]]i;}int ret2;vector<vector<int>> dp(n,v…...

【程序员必看】计算机网络,快速了解网络层次、常用协议和物理设备!

文章目录 0 引言1 基础知识的定义1.1 计算机网络层次1.2 网络供应商 ISP1.3 猫、路由器、交换机1.4 IP协议1.5 TCP、UDP协议1.6 HTTP、HTTPS、FTP协议1.7 Web、Web浏览器、Web服务器1.8 以太网和WLAN1.9 Socket &#xff08;网络套接字&#xff09; 2 总结 0 引言 在学习的过程…...

1.软件测试基础

一、软件测试概念 1.什么是软件 软件是计算机程序&#xff0c;是由计算机代码编写的一系列指令和数据&#xff0c;可以实现各种功能。它指的是计算机系统中的应用程序&#xff0c;包括操作系统、应用软件、驱动程序等。软件可以通过编程语言编写和开发&#xff0c;并可以安装…...

综合布线系统概述

对于现代化的大楼&#xff0c;其内部信息传输通道系统&#xff08;综合布线系统&#xff09; 已不仅仅要求能支持一般的语音传输&#xff0c;还应能够支持多种计算机网络 协议及多种厂商设备的信息互连&#xff0c;可适应各种灵活的&#xff0c;容错的组网方 案&#xff0c;…...

Labview 实战 99乘法表

基于新手小白&#xff0c;使用Labview实现99乘法表&#xff0c;敢于发表自己的一点方法&#xff0c;还请各位大侠放过&#xff01; 如下&#xff1a; 运行效果如下&#xff1a; 思路为&#xff1a;将要显示出来的数据&#xff0c;全部转换为字符串形式&#xff0c;再塞入到数组…...

需求变化频繁的情况下,如何实施自动化测试

一.通常来说&#xff0c;具备以下3个主要条件才能开展自动化测试工作: 1.需求变动不频繁 自动化测试脚本变化的频率决定了自动化测试的维护成本。如果需求变动过于频繁&#xff0c;那么测试人员就需要根据变动的需求来不断地更新自动化测试用例&#xff0c;从而适应新的功能。…...

C++设计模式-桥接(Bridge)

目录 C设计模式-桥接&#xff08;Bridge&#xff09; 一、意图 二、适用性 三、结构 四、参与者 五、代码 C设计模式-桥接&#xff08;Bridge&#xff09; 一、意图 将抽象部分与它的实现部分分离&#xff0c;使它们都可以独立地变化。 二、适用性 你不希望在抽象和它…...

Springboot+vue的开放性实验室管理系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频&#xff1a; Springbootvue的开放性实验室管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot vue前后端分离项目。 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的前后端分离的开放性实验室管理系统&#xff0c;采用M&#xff08…...

1.9.C++项目:仿muduo库实现并发服务器之Connection模块的设计

项目完整在&#xff1a; 文章目录 一、Connection模块&#xff1a;这是一个对于通信连接进行整体管理的一个模块&#xff0c;对一个连接的操作都是通过这个模块来进行&#xff01;二、提供的功能三、实现思想&#xff08;一&#xff09;功能&#xff08;二&#xff09;意义&am…...

Iphone文件传到电脑用什么软件,看这里

在数字化时代&#xff0c;文件传输已经成为我们日常生活中不可或缺的一部分。然而&#xff0c;苹果用户在将手机文件传输到电脑时&#xff0c;往往会面临一些困扰。曾经的“文件传输助手”并不能完全满足用户的需求。于是&#xff0c;很多人开始寻找更便捷的解决方案。在本文中…...

JS进阶-原型对象prototype

原型 原型就是一个对象&#xff0c;也称为原型对象 构造函数通过原型分配的函数是所有对象所共享的。 JavaScript规定&#xff0c;每一个构造函数都有一个prototype属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象 这个对象可以挂载函数&#xff0c;对象…...

【Unity】两种方式实现弹跳平台/反弹玩家(玩家触发与物体自身触发事件实现蹦床的物理效果)

一、声明 只实现物理反弹的效果&#xff0c;不实现蹦床会有的视觉拉伸效果&#xff0c;请自行找相关代码 二、实现 经过我的实践&#xff0c;我发现要想实现一个平台反弹的效果&#xff0c;要么就选择给player添加一个物理材质&#xff08;平台加了没用&#xff09;&#xff0…...

python开发幸运水果抽奖大转盘

概述 当我女朋友跟我说要吃水果&#xff0c;又不知道吃啥水果时候&#xff0c;她以为难为到我了&#xff0c;有啥事难为到程序员的呢&#xff01; 今天用python利用第三方tkinterthreadingtime库开发一个幸运水果抽奖大转盘&#xff01;抽到啥吃啥 详细 老规矩&#xff01;咱…...

【CMU15-445 Part-16】Concurrency Control Theory

Part16-Concurrency Control Theory 架构概念 Transcations txn就是通过在数据库系统中执行一系列操作&#xff08;sql queries&#xff09;来执行某种更高级的功能(应用程序所执行的功能)。 Transcations in SQL 一个新的事务开始 with BEGIN&#xff0c;txn结束with COMM…...

软件设计模式系列之二十五——访问者模式

访问者模式&#xff08;Visitor Pattern&#xff09;是一种强大的行为型设计模式&#xff0c;它允许你在不改变被访问对象的类的前提下&#xff0c;定义新的操作和行为。本文将详细介绍访问者模式&#xff0c;包括其定义、举例说明、结构、实现步骤、Java代码实现、典型应用场景…...

国庆看坚如磐石

坚如磐石上映了&#xff0c;可以在爱奇艺观看。 而博主在使用蓝牙耳机连接电脑的过程中&#xff0c;发现没有蓝牙开启选项&#xff0c;并且在服务的设备管理器中也没有找到&#xff0c;很明显这是缺少驱动导致的&#xff0c;因此便去联想官方网站下载对应的驱动。 这里可以输入…...

代码随想录Day59 | 647. 回文子串 | 516. 最长回文子序列

647. 回文子串 class Solution { public:int countSubstrings(string s) {int sum0;int ns.size();vector<vector<int>> f(n1,vector<int>(n1,0));//表示区间范围[i,j] &#xff08;注意是左闭右闭&#xff09;的子串是否是回文子串。初始值为0.for(int i n…...

为什么InnoDB选择B+树而不是红黑树作为索引结构?

在数据库管理系统中&#xff0c;索引结构的选择对于数据库的性能和效率至关重要。MySQL的InnoDB存储引擎是一个广泛使用的数据库引擎&#xff0c;它选择了B树作为索引结构&#xff0c;而不是像红黑树那样的其他数据结构。本文将探讨为什么InnoDB选择B树&#xff0c;并解释B树与…...

【c++_containers】10分钟带你学会list

前言 链表作为一个像是用“链子”链接起来的容器&#xff0c;在数据的存储等方面极为便捷。虽然单链表单独在实际的应用中没用什么作用&#xff0c;但是当他可以结合其他结构&#xff0c;比如哈希桶之类的。不过今天学习的list其实是一个带头双向链表。 言归正传&#xff0c;让…...

LeetCode 0714. 买卖股票的最佳时机含手续费

【LetMeFly】714.买卖股票的最佳时机含手续费 力扣题目链接&#xff1a;https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-with-transaction-fee/ 给定一个整数数组 prices&#xff0c;其中 prices[i]表示第 i 天的股票价格 &#xff1b;整数 fee 代表了交易股…...

Luma 视频生成 API 集成指南

随着人工智能的广泛应用&#xff0c;AI 程序逐渐在各个领域流行开来。从最初的写作、医疗教育&#xff0c;到如今的视频生成&#xff0c;AI 正在渗透人们工作和生活的方方面面。 Luma 是一个专业的高质量视频生成平台&#xff0c;用户只需上传素材&#xff0c;便可以根据不同的…...

《C语言字符串与内存函数详解与模拟实现》

C语言字符串函数和内存函数字符串函数strcat详解模拟实现strcmp详解模拟实现strcpy详解模拟实现strstr详解模拟实现strtok详解strncat详解模拟实现strncmp详解模拟实现strncpy详解模拟实现内存函数memcpy详解模拟实现memmove详解模拟实现memset详解这篇博客我将讲解C语言中常见…...

Rust所有权与生命周期深度解析

Rust 所有权与生命周期深度解析:从编译器视角理解内存安全 🦀 Rust 的所有权系统是其最核心的创新——它在编译期消除了一整类内存安全 bug,零运行时开销。本文从编译器内部视角出发,带你彻底搞懂所有权、借用、生命周期的工作原理。 📌 前言 如果你是从 C/C++ 转来的开…...

Subtitle Edit终极指南:免费开源字幕编辑器,轻松解决音画不同步难题

Subtitle Edit终极指南&#xff1a;免费开源字幕编辑器&#xff0c;轻松解决音画不同步难题 【免费下载链接】subtitleedit the subtitle editor :) 项目地址: https://gitcode.com/gh_mirrors/su/subtitleedit 你是否曾为视频字幕不同步而烦恼&#xff1f;或是被复杂的…...

从HDLbits的Getting Started到Vectors:新手如何避开Verilog入门最常见的5个坑

从HDLbits的Getting Started到Vectors&#xff1a;新手如何避开Verilog入门最常见的5个坑 第一次接触Verilog时&#xff0c;很多人会带着编程语言的思维惯性一头扎进HDLbits的练习题&#xff0c;结果在基础语法和向量操作上反复栽跟头。作为电子设计自动化&#xff08;EDA&…...

3步搞定:如何用ElaWidgetTools让传统QT应用焕发Windows 11现代魅力

3步搞定&#xff1a;如何用ElaWidgetTools让传统QT应用焕发Windows 11现代魅力 【免费下载链接】ElaWidgetTools Fluent-UI For QT-Widget 项目地址: https://gitcode.com/gh_mirrors/el/ElaWidgetTools ElaWidgetTools是一个专为QT-Widget开发者设计的Fluent UI风格组件…...

Vivado里手把手配置MIPI CSI-2 RX Subsystem IP核:从D-PHY选IO到Video Format Bridge算位宽

Vivado中MIPI CSI-2 RX Subsystem IP核配置实战&#xff1a;从D-PHY选型到视频格式转换 在ZYNQ系列SoC的视觉处理系统中&#xff0c;MIPI CSI-2接口作为连接图像传感器的标准协议&#xff0c;其硬件实现往往成为项目成败的关键节点。本文将深入剖析Vivado工具中MIPI CSI-2 RX S…...

为AI编码代理构建确定性安全层:开源安全网关ai-sec实战指南

1. 项目概述&#xff1a;为AI编码代理构建确定性安全层如果你正在使用Claude Code、Cursor、Codex这类AI编码助手&#xff0c;或者正在开发基于LLM的自动化工作流&#xff0c;那么一个核心的痛点你一定深有体会&#xff1a;如何确保AI不会执行危险命令&#xff1f;当AI助手建议…...

别再用笨方法转置了!Matlab里rot90函数帮你3秒搞定矩阵旋转(附多维数组实战)

别再用笨方法转置了&#xff01;Matlab里rot90函数帮你3秒搞定矩阵旋转&#xff08;附多维数组实战&#xff09; 在数据处理和图像预处理中&#xff0c;矩阵旋转是一个常见但容易被低估的操作。许多Matlab用户习惯性地使用转置操作符或复杂的循环结构来实现矩阵旋转&#xff0c…...

QRazyBox终极指南:5步快速修复损坏的二维码

QRazyBox终极指南&#xff1a;5步快速修复损坏的二维码 【免费下载链接】qrazybox QR Code Analysis and Recovery Toolkit 项目地址: https://gitcode.com/gh_mirrors/qr/qrazybox 你是否曾经遇到过无法扫描的二维码&#xff1f;那些因打印模糊、屏幕损坏或污渍覆盖而失…...