美文网首页
2022-12-29 leetcode 2393 双指针暴打动

2022-12-29 leetcode 2393 双指针暴打动

作者: 木马音响积木 | 来源:发表于2022-12-28 18:41 被阅读0次

You are given an array nums consisting of positive integers.

Return the number of subarrays of nums that are in strictly increasing order.

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/count-strictly-increasing-subarrays
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
动态规划,代码如下

class Solution:
    def countSubarrays(self, nums: List[int]) -> int:
        s,t=1,1
        for i in range(1,len(nums)):
            if nums[i]<=nums[i-1]:t=1
            else:t+=1
            s+=t
        return s

#双指针
class Solution:
    def countSubarrays(self, nums: List[int]) -> int:
        #双指针来解决
        n=len(nums)
        a=ans=0
        nums.append(-1)
        for i in range(1,n+1):
            if nums[i-1] >= nums[i]:
                w=i-a
                a=i
                ans+=w*(w+1)//2
        return ans

明显看出,如果一开始的数组是严格上升的,,,双指针只需要计算一次

相关文章

  • LeetCode 数组专题 4:双索引技术之一:对撞指针

    在 LeetCode 上,专门有一个标签,名为“双指针”,有数组中的“双指针”,也有单链表中的“双指针”。 例题1...

  • 双指针

    双指针问题总结 双指针经典问题 twoSum (有序数组) 字符串翻转 先看一个例子: leetcode 345....

  • leetcode--双指针

    这周是我在leetcode上刷题的第一周,然后我就把和第一题同一系列的题差不多都做了,我记得我们上高三的时候我们老...

  • LeetCode 专题 :双指针

    LeetCode 第 167 题:两数之和 II - 输入有序数组 传送门:167. 两数之和 II - 输入有序...

  • Leetcode --- 数组(双指针)

    1.合并两个有序数组(88-易) 题目描述:给你两个有序整数数组 nums1 和 nums2,请你将 nums2 ...

  • leetcode-双指针

    209 :给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target ...

  • Leetcode刷题记录-Array

    双指针: 一个指针是for循环,第二个指针是for循环之外的一个指针(通常是int)。Leetcode 27. R...

  • 常用算法

    以下题号如无说明表示在中文leetcode上的题号双指针:15(三数之和)

  • 算法——数组常见初级题(JS)

    一、解法:双指针——快慢指针 Leetcode 26 删除排序数组中的重复项解题思路:两个指针都指向数组的一个数,...

  • leetcode第160题:相交链表 [否]

    题目描述 考点 链表 双指针 解题思路 参考题解:https://leetcode-cn.com/problems...

网友评论

      本文标题:2022-12-29 leetcode 2393 双指针暴打动

      本文链接:https://www.haomeiwen.com/subject/vwszqdtx.html