aboutsummaryrefslogtreecommitdiff
path: root/count_subarr_len_three_cond.c
diff options
context:
space:
mode:
Diffstat (limited to 'count_subarr_len_three_cond.c')
-rw-r--r--count_subarr_len_three_cond.c22
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
+}