diff options
Diffstat (limited to 'count_subarr_len_three_cond.c')
-rw-r--r-- | count_subarr_len_three_cond.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/count_subarr_len_three_cond.c b/count_subarr_len_three_cond.c new file mode 100644 index 0000000..3d61dd8 --- /dev/null +++ b/count_subarr_len_three_cond.c @@ -0,0 +1,22 @@ +// 3392. Count Subarrays of Length Three With a Condition +#include "leetcode.h" + +/* + * given an integer array 'nums', return the number of subarrays of length 3 + * such that the sum of the first and third number equals exactly half of the + * second number. + */ + +int countSubarrays(int *nums, int numsSize) { + int cnt = 0; + for (int i = 1; i < numsSize - 1; ++i) + if (2 * (nums[i - 1] + nums[i + 1]) == nums[i]) + cnt++; + return cnt; +} + +int main() { + int n1[] = {1, 2, 1, 4, 1}, n2[] = {1, 1, 1}; + printf("%d\n", countSubarrays(n1, ARRAY_SIZE(n1))); // expect: 1 + printf("%d\n", countSubarrays(n2, ARRAY_SIZE(n2))); // expect: 0 +} |