2615. 等值距离和;2771. 构造最长非递减子数组;2712. 使所有字符相等的最小成本

这篇具有很好参考价值的文章主要介绍了2615. 等值距离和;2771. 构造最长非递减子数组;2712. 使所有字符相等的最小成本。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

2615. 等值距离和

核心思想:1.统计相同值的下标,为了方便等会求结果 。2.统计相同值的距离和。这道题的思路很像数学题,如果没人给提示很难想出来,有点像找规律的题目。对于一个下标a[i-1]其距离和为s,那么对于a[i](a[i]>a[i-1]的

1.对于(a[0]-a[i-1])到a[i-1]的距离 = (a[0]-a[i-1])到a[i]的距离-i*(a[i]-a[i-1])

2.对于(a[i]-a[n-1])到a[i-1]的距离 = (a[i]-a[n-1])到a[i]的距离+(a[i]-a[i-1])*(n-i)

所以 左右两边加起来 s = s_i +(a[i]-a[i-1])*(n-2*i) s_i = s +(2*i-n)*(a[i]-a[i-1])

2615. 等值距离和;2771. 构造最长非递减子数组;2712. 使所有字符相等的最小成本,算法

 2771. 构造最长非递减子数组

核心思路:记忆化搜索,dfs(i,j)表示以i结尾的选择(nums1或者nums2结尾)得到的最长递减子数组为dfs(i,j)。然后会出现两种情况一种是nums1小于结尾,另一种是nums2小于结尾,这两种情况都需要统计。

2615. 等值距离和;2771. 构造最长非递减子数组;2712. 使所有字符相等的最小成本,算法

 2712. 使所有字符相等的最小成本

核心思想:脑筋急转弯,当两个数相邻的时候,如果它们的值不相同,那么必须进行翻转,要么翻前面的要么翻后面的,所以我们只需要统计翻前及翻后的最小值即可。

2615. 等值距离和;2771. 构造最长非递减子数组;2712. 使所有字符相等的最小成本,算法 文章来源地址https://www.toymoban.com/news/detail-602669.html

到了这里,关于2615. 等值距离和;2771. 构造最长非递减子数组;2712. 使所有字符相等的最小成本的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【算法题】2745. 构造最长的新字符串

    给你三个整数 x ,y 和 z 。 这三个整数表示你有 x 个 “AA” 字符串,y 个 “BB” 字符串,和 z 个 “AB” 字符串。你需要选择这些字符串中的部分字符串(可以全部选择也可以一个都不选择),将它们按顺序连接得到一个新的字符串。新字符串不能包含子字符串 “AAA” 或者

    2024年02月12日
    浏览(42)
  • day55 最长递增子序列 最长连续递增子序列 最长重复子数组

    题目链接 300 最长递增子序列 题意 找到整数数组nums的最长严格递增子序列的长度(子序列并不改变原始的顺序,但是可以删除元素) 动态规划 动规五部曲 1)dp数组及下标i的含义 dp[i] 表示以nums[i]为结尾的最长递增子序列的长度 2)dp数组初始化 根据定义 长度至少是1  dp

    2024年04月11日
    浏览(50)
  • 最长重复子数组,最大子序和,最长公共子序列

    欢迎批评指正!

    2024年04月13日
    浏览(54)
  • 算法刷题Day 52 最长递增子序列+最长连续递增子序列+最长重复子数组

    我自己想出来的方法,时间复杂度应该是 O(n2) 滑动窗口 连续的话,可以考虑用滑动窗口 动态规划 贪心算法

    2024年02月14日
    浏览(40)
  • 718. 最长重复子数组

    718. 最长重复子数组 https://leetcode.cn/problems/maximum-length-of-repeated-subarray/description/

    2024年02月11日
    浏览(23)
  • 动态规划9:最长递增子序列、最长连续递增序列、最长重复子数组、最长公共子序列、不相交的线、最长子序和

    例题300: 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 确定dp数组和下标含义 dp[i]表示在第i个元素的最长子序列数

    2024年04月08日
    浏览(35)
  • 【Leetcode】2765. 最长交替子数组

    2765. 最长交替子数组 题目 :给你一个下标从 0 开始的整数数组 nums 。如果 nums 中长度为 m 的子数组 s 满足以下条件,我们称它是一个 交替子数组 : m 大于 1 。 s1 = s0 + 1 。 下标从 0 开始的子数组 s 与数组 [s0, s1, s0, s1,…,s(m-1) % 2] 一样。也就是说,s1 - s0 = 1 ,s2 - s1 = -1 ,s3

    2024年01月25日
    浏览(32)
  • leetcode2765 最长交替子数组

    2765. 最长交替子数组 - 力扣(LeetCode) 题目要求返回所有交替子数组的最长长度,我们可以使用双层循环。外层循环遍历数组每一个的下标,使其作为交替子数组的第一个下标firstIndex。内层循环则从firstIndex往后遍历,判断接下来的元素是否满足交替子数组的条件。如果是那

    2024年01月23日
    浏览(31)
  • 【每日一题】最长交替子数组

    【双层循环】【单层循环】【数组】【2024-01-23】 2765. 最长交替子数组 两个方法,一个是双层循环,一个是单层循环。 思路 第一层枚举子数组的起点,第二层从起点的下一个元素开始枚举,判断接下来的字符是否满足交替子数组的条件。如是则更新长度,否则调出内层循环

    2024年01月24日
    浏览(34)
  • LeetCode | C++ 动态规划——300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组

    300题目链接 dp 数组定义 dp[i] 表示 i 之前包括 i 的以 nums[i]结尾 的最长递增子序列的长度 需要包含nums[i]结尾,不然在做递增比较的时候,就没有意义了。 递推公式 位置 i 的最长递增子序列 等于 j 从 0 到 i - 1各个位置的最长递增子序列 + 1 的 最大值 if (nums[i] nums[j]) dp[i] = ma

    2024年02月16日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包