LCOV - code coverage report
Current view: top level - src/src - 485.max-consecutive-ones.cpp (source / functions) Coverage Total Hit
Test: _coverage_report.dat Lines: 100.0 % 19 19
Test Date: 2025-07-24 17:41:04 Functions: 100.0 % 5 5

            Line data    Source code
       1              : // Copyright (c) 2024 The Authors. All rights reserved.
       2              : //
       3              : // Licensed under the Apache License, Version 2.0 (the "License");
       4              : // you may not use this file except in compliance with the License.
       5              : // You may obtain a copy of the License at
       6              : //
       7              : //      https://www.apache.org/licenses/LICENSE-2.0
       8              : //
       9              : // Unless required by applicable law or agreed to in writing, software
      10              : // distributed under the License is distributed on an "AS IS" BASIS,
      11              : // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      12              : // See the License for the specific language governing permissions and
      13              : // limitations under the License.
      14              : 
      15              : // Authors: liubang (it.liubang@gmail.com)
      16              : 
      17              : #include <gtest/gtest.h>
      18              : 
      19              : #include <vector>
      20              : 
      21              : namespace {
      22              : class Solution {
      23              : public:
      24            2 :     int findMaxConsecutiveOnes(std::vector<int>& nums) {
      25            2 :         int ret = 0, cur = 0;
      26           14 :         for (auto num : nums) {
      27           12 :             if (num == 0) {
      28            3 :                 ret = std::max(ret, cur);
      29            3 :                 cur = 0;
      30              :             } else {
      31            9 :                 cur++;
      32              :             }
      33              :         }
      34            2 :         return std::max(ret, cur);
      35              :     }
      36              : };
      37              : } // namespace
      38              : 
      39            4 : TEST(Leetcode, max_consecutive_ones) {
      40            1 :     Solution s;
      41              :     {
      42            1 :         std::vector<int> nums = {1, 1, 0, 1, 1, 1};
      43            1 :         auto res = s.findMaxConsecutiveOnes(nums);
      44            1 :         EXPECT_EQ(3, res);
      45            1 :     }
      46              :     {
      47            1 :         std::vector<int> nums = {1, 0, 1, 1, 0, 1};
      48            1 :         auto res = s.findMaxConsecutiveOnes(nums);
      49            1 :         EXPECT_EQ(2, res);
      50            1 :     }
      51            1 : }
        

Generated by: LCOV version 2.0-1