[哈希] leetcode 1124 Longest Well-Performing Interval

Posted fish1996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[哈希] leetcode 1124 Longest Well-Performing Interval相关的知识,希望对你有一定的参考价值。

https://leetcode.com/problems/longest-well-performing-interval/

        将满足条件的视为+1,不满足的视为-1,计算前缀和。该题可以转换为计算和大于0的最小区间。

class Solution {
public:
    int longestWPI(vector<int>& hours) {
        unordered_map<int,int> m;
        m[0] = -1;
        int days = 0;
        int result = 0;
        for(int i = 0;i < hours.size();i++) // end
        {
            if(hours[i] > 8) days += 1;
            else days -= 1;
            if(days > 0)
            {
                result = max(result ,i + 1);
            }
            else
            {
                if(m.find(days) == m.end())
                {   
                    m[days] = i;
                }
                int expect = days - 1;
                if(m.find(expect) != m.end())
                {
                    result = max(result, i - m[expect]);
                }

            }

        }
        return result;
    }
};

 

以上是关于[哈希] leetcode 1124 Longest Well-Performing Interval的主要内容,如果未能解决你的问题,请参考以下文章

[Leetcode] 0705. 设计哈希集合

leetcode 数据结构 探索哈希表

leetcode 705 设计哈希映射

StyleCop SA1124 DoNotUseRegions 是不是合理? [关闭]

Leetcode刷题100天—705. 设计哈希集合(集合)—day74

[JavaScript 刷题] 哈希表 - 查找共用字符, leetcode 1002