From 56b6d146c7f33b89c4ef573d0746dc0f306684f0 Mon Sep 17 00:00:00 2001 From: Jack Sangdahl Date: Tue, 29 Apr 2025 21:10:55 -0600 Subject: 1295. find numbers with even number of digits --- find_num_even_digit.c | 27 +++++++++++++++++++++++++++ find_num_even_digit.py | 21 +++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 find_num_even_digit.c create mode 100644 find_num_even_digit.py diff --git a/find_num_even_digit.c b/find_num_even_digit.c new file mode 100644 index 0000000..351896f --- /dev/null +++ b/find_num_even_digit.c @@ -0,0 +1,27 @@ +// 1295. Find Numbers with Even Number of Digits +#include "leetcode.h" + +/* + * given an array 'nums' of integers, return how many of them contain an even + * number of digits. + */ + +int findNumbers(int *nums, int numsSize) { + int cnt = 0; + for (int i = 0; i < numsSize; i++) { + int curr = 0; + while (nums[i]) { + curr++; + nums[i] /= 10; + } + if (!(curr & 1)) + cnt++; + } + return cnt; +} + +int main() { + int n1[] = {12, 345, 2, 6, 7896}, n2[] = {555, 901, 482, 1771}; + printf("%d\n", findNumbers(n1, ARRAY_SIZE(n1))); // expect: 2 + printf("%d\n", findNumbers(n2, ARRAY_SIZE(n2))); // expect: 1 +} diff --git a/find_num_even_digit.py b/find_num_even_digit.py new file mode 100644 index 0000000..5cdb9e3 --- /dev/null +++ b/find_num_even_digit.py @@ -0,0 +1,21 @@ +# 1295. Find Numbers with Even Number of Digits + +""" +given an array 'nums' of integers, return how many of them contain an even +number of digits. +""" + + +class Solution(object): + def findNumbers(self, nums): + """ + :type nums: List[int] + :rtype: int + """ + return sum(1 for i in nums if (len(str(i)) & 1) == 0) + + +if __name__ == "__main__": + obj = Solution() + print(obj.findNumbers(nums=[12, 345, 2, 6, 7896])) + print(obj.findNumbers(nums=[555, 901, 482, 1771])) -- cgit v1.2.3