1218. 最长定差子序列

1218. 最长定差子序列

  • 原题链接:
  • 完成情况:
  • 解题思路:
  • 参考代码:
    • _1218最长定差子序列
  • 错误经验吸取

原题链接:

1218. 最长定差子序列

https://leetcode.cn/problems/longest-arithmetic-subsequence-of-given-difference/description/

完成情况:

在这里插入图片描述

解题思路:

这段代码是一个用Java编写的函数,函数名为longestSubsequence,接受一个整型数组arr和一个整数difference作为参数。函数的功能是找出并返回数组arr中最长等差子序列的长度。

在函数中,首先声明了一个整型变量result并初始化为0,然后创建了一个HashMap对象dp_longestSubsequence用于存储每个元素对应的最长等差子序列长度。

接下来是一个for循环,遍历数组arr中的每个元素arr_i。在循环内部,使用dp_longestSubsequence.getOrDefault(arr_i - difference, 0) + 1的方式计算当前元素arr_i对应的最长等差子序列长度,并将结果存入dp_longestSubsequence中。然后通过Math.max方法更新result为当前最大的子序列长度。

最后,返回计算得到的最长等差子序列的长度result

请注意,这段代码实现的主要思想是动态规划,通过遍历数组来计算每个元素对应的最长等差子序列长度,并使用HashMap来存储中间结果,以减少重复计算。

参考代码:

_1218最长定差子序列

package leetcode板块;

import java.util.HashMap;
import java.util.Map;

public class _1218最长定差子序列 {
    /**
     *
     * @param arr
     * @param difference    一个整数 difference,给定了差值
     * @return
     */
    public int longestSubsequence(int[] arr, int difference) {
//        1 <= arr.length <= 10^5
//        -10^4 <= arr[i], difference <= 10^4
        //  请你找出并返回 arr 中最长等差子序列的长度
        int result = 0;
        Map<Integer, Integer> dp_longestSubsequence = new HashMap<Integer, Integer>();
        //已经指定了数组的差,你需要按这个差去看看有无能够与之匹配的元素即可
        for (int arr_i : arr){
            dp_longestSubsequence.put(arr_i,dp_longestSubsequence.getOrDefault(arr_i - difference,0) + 1);
            result = Math.max(result, dp_longestSubsequence.get(arr_i));
        }
        return result;
    }
}

错误经验吸取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/658960.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

FlashRAG

文章目录 一、关于 FlashRAG特点 ✨&#x1f527; 安装 二、快速入门&#x1f3c3;1、Toy Example2、使用现成的管道3、建立自己的管道4、只需使用组件 三、组件⚙️1、RAG 组件2、管道 四、支持方法&#x1f916;五、支持数据集&#x1f4d3;六、其他常见问题解答 &#x1f64…

MT3049 区间按位与

思路&#xff1a; 使用ST表。ST表模板可参考MT3024 maxmin 注意点&#xff1a;此题范围较大&#xff0c;所以要避免超时。 ①使用 ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); 加快输入输出速度。 ②换行使用\n而不是endl 代码&#xff1a; 1.暴力6/8 #…

图片怎么批量重命名从1到50?这3个方法一键改名

图片怎么批量重命名从1到50&#xff1f;图片批量重命名从1到50的过程不仅提高了我们处理大量图片文件的效率&#xff0c;还大大简化了命名过程&#xff0c;让我们能更加有条理地管理和存储图片。通过使用各种专业的工具和方法&#xff0c;我们可以轻松实现图片文件的自动化命名…

微信小程序代码加固教程后台接口防止别人乱调用

最近开发了一个小程序前端开发前端和后台花了1个多月时间开发&#xff0c;结果被人轻松的把微信小程序前端代码破解出来。而且完整一个字不差截图给我看了。 小程序是前后端都分离的&#xff0c;如果后端不作验证&#xff0c;别人把你的小程序前端扒了接口也暴露了&#xff0c;…

玩转STM32-通用同步/异步收发器USART(详细-慢工出细活)

CPU与外围设备之间的信息交换或计算机与计算机之间的信息交换称为通信。基 本的通信方式有两种&#xff0c;即并行通信和串行通信。文章目录 一、串行通信基础1.1 串行通信的方式1.2 串行通信的数据传输形式1.3 波特率 二、STM32的USART的结构特征&#xff08;了解&#xff09;…

现在怎么做抖店才能赚钱?这四个重要建议,你千万不能忽略!

大家好&#xff0c;我是电商花花。 现在目前看抖音小店前景和红利依然有很大的市场空间&#xff0c;抖音小店平台流量大&#xff0c;商家入驻门槛低&#xff0c;抖店的运营技术也不像其它传统电商平台那么高。 所以&#xff0c;当下抖音小店仍然是流量大&#xff0c;机遇多。…

使用手机短信恢复软件,完成从新手到专家的进阶之路

由于各种原因&#xff0c;如误删、手机设备损坏等&#xff0c;我们可能会面临重要短信丢失的风险。现在市面上有许多手机短信恢复软件可以帮助我们解决这个问题&#xff0c;但从新手到专家的进阶之路并非一蹴而就的过程&#xff0c;它需要耐心、实践和不断地学习。以下是一篇关…

开源集运wms系统

集运WMS系统是一种专为集运业务设计的仓库管理系统&#xff0c;它能够高效地处理来自多个来源的货物&#xff0c;优化存储和发货流程。 经过长时间的开发和测试&#xff0c;推出了我的集运WMS系统。它不仅具备传统WMS系统的所有功能&#xff0c;还针对集运业务的特点进行了特别…

【JavaScript】ECMAS6(ES6)新特性概览(二):解构赋值、扩展与收集、class类全面解析

&#x1f525; 个人主页&#xff1a;空白诗 &#x1f525; 热门专栏&#xff1a;【JavaScript】 文章目录 &#x1f33f; 引言五、 Destructuring Assignment - 解构赋值&#xff0c;数据提取的艺术 &#x1f3a8;&#x1f4cc; 数组解构&#x1f4cc; 对象解构&#x1f4cc; 特…

matlab生成波形然后采样,FPGA写testbench读取数据

一、在matlab产生激励 fs1000; % 这个是路数 M16; % 这个是FFT的点数&#xff0c;64K L65536; % 将N写为两个整数乘积的形式&#xff0c;即N ML&#xff0c;(log2 M和log2 L都为正整数) NM*L; % 这段 MATLAB 代码是用来生成一个时间序列的&#xff0c; % 该时间序列从0开…

一次性把“AI 原生应用技术栈”说明白

AI 当前有多火爆不用介绍了&#xff0c;随着各个厂商的努力&#xff0c;也慢慢浮现了有价值的应用&#xff0c;以及为更好的服务 AI 原始应用准备的各种平台产品。今天这篇简单介绍下当前业界最新的 AI 原生应用技术栈。 特别声明&#xff1a;AI 技术还在快速发展过程中&#…

数据可视化分析工具DataEase

本文软件由网友 雨林 推荐&#xff0c;老苏稍微研究了一下 DataEase 的安装&#xff0c;具体的使用教程&#xff0c;请参考官方的在线文档和教学视频 什么是 DataEase &#xff1f; DataEase 是开源的数据可视化分析工具&#xff0c;帮助用户快速分析数据并洞察业务趋势&#x…

新品发布(仓库小助手)一机在手,轻松无忧

你是否曾为繁琐的货物管理而烦恼&#xff1f; 你是否为了记录货物信息忙前忙后&#xff1f; 近几年&#xff0c;陆续有收到客户在运营跨境代购中的一些反馈&#xff0c;特别是仓库管理这块&#xff0c;比如包裹的出入库、移库、修改包裹信息等&#xff0c;都需要在电脑上完成&…

HTML新春烟花盛宴

目录 写在前面 烟花盛宴 完整代码 修改文字

轻松掌握图片批量处理,赶紧学习这些小技巧!

在现今数字化的社会中&#xff0c;我们每天都会接触到大量的图片&#xff0c;无论是在工作中还是日常生活中。要想高效处理这些图片&#xff0c;掌握图片批量处理的技巧就显得尤为重要。幸运的是&#xff0c;有许多小技巧和工具可以让这一过程变得轻松愉快。 在本文中&#xf…

解决 Echarts 图 tooltip 层级太高穿透问题

问题场景&#xff1a;Echarts 图 tooltip 是自动轮播的&#xff0c;当点击某个区域出现弹窗时&#xff0c;tooltip和弹窗同时显示&#xff0c;没在遮罩层下面&#xff0c;查看tooltip的层级显示99999&#xff0c;所以这里改一下tooltip的层级。 设置 extraCssText: "z-ind…

白酒:产地的标识对消费者选择的影响与策略

云仓酒庄豪迈白酒作为一款知名品牌&#xff0c;其产地的标识对消费者选择产生着重要的影响。产地的标识是消费者了解和信任产品的重要途径&#xff0c;因此&#xff0c;如何巧妙地运用产地的标识来吸引和留住消费者&#xff0c;是品牌营销的重要策略。 首先&#xff0c;产地的标…

Suno进阶手册 | 创作歌曲玩法全攻略!

Suno进阶手册:创作歌曲玩法全攻略! 前言1. 基础模式2. 高级模式总结前言 前段时间,Suno V3 横空出世,与此前的V2相比,V3生成的作品质量明显提升! 该说不说,对比同类型工具,Suno的体验“遥遥领先”,没有AI生成常有的机械感,歌词押韵,甚至还附带有和声、分段。 虽然…

有免费通配符证书吗?哪里可以申请?

市面上的免费SSL证书大多数为单域名证书&#xff0c;如果您的主域名拥有众多子域名&#xff0c;逐一申请单域名SSL证书不太现实&#xff0c;下面为介绍一款永久免费使用的通配符SSL证书申请流程 1 选择免费通配符证书提供商 免费通配符证书申请点击这里直接获取https://www.…

两年半前端面字节,广度和深度让我不想做前端了

两年半经历&#xff0c;面的是前端工程师&#xff0c;字节面试官的问题挺有广度与深度的&#xff0c;这里整理一下面试过程中的题目&#xff08;有些忘记了&#xff09;&#xff0c;分享给大家: 面试过程中的问题 1、简单的自我介绍与项目经验。 2、一道算法题。 3、一道 …