Coding Exercise: Sum of Digits in the Minimum Number
- 时间:2020-09-25 11:32:47
- 分类:网络文摘
- 阅读:88 次
Given an array A of positive integers, let S be the sum of the digits of the minimal element of A. Return 0 if S is odd, otherwise return 1.
Example 1:
Input: [34,23,1,24,75,33,54,8]
Output: 0Explanation:
The minimal element is 1, and the sum of those digits is S = 1 which is odd, so the answer is 0.Example 2:
Input: [99,77,33,66,55]
Output: 1Explanation:
The minimal element is 33, and the sum of those digits is S = 3 + 3 = 6 which is even, so the answer is 1.Note:
- 1 <= A.length <= 100
- 1 <= A[i].length <= 100
C++ min_element
Using min_element() in Modern C++, you can easily get the minimal element between two iterator ranges instead of writing a for loop. The third parameter is an optional one that you can provide the customize comparator.
1 2 3 4 5 6 7 8 9 10 11 12 13 | class Solution { public: int sumOfDigits(vector<int>& A) { // int v = *min_element(begin(A), end(A), [](auto a, auto b) { return a < b; }); int v = *min_element(begin(A), end(A)); int r = 0; while (v > 0) { r += v % 10; v /= 10; } return 1 - r % 2; } }; |
class Solution { public: int sumOfDigits(vector<int>& A) { // int v = *min_element(begin(A), end(A), [](auto a, auto b) { return a < b; }); int v = *min_element(begin(A), end(A)); int r = 0; while (v > 0) { r += v % 10; v /= 10; } return 1 - r % 2; } };
Python
Similarly, a little bit verbose (in Python3):
1 2 3 4 5 6 7 8 9 | class Solution: def sumOfDigits(self, A: List[int]) -> int: x = min(A) S = 0 while x > 0: S += (x % 10) x //= 10 # make sure the integer division #return 0 if ((S % 2) == 1) else 1 return 1 - S % 2 |
class Solution: def sumOfDigits(self, A: List[int]) -> int: x = min(A) S = 0 while x > 0: S += (x % 10) x //= 10 # make sure the integer division #return 0 if ((S % 2) == 1) else 1 return 1 - S % 2
Alternatively, with one-liner in Python:
1 2 3 | class Solution: def sumOfDigits(self, A: List[int]) -> int: return 1 - sum(map(int, str(min(A)))) % 2 |
class Solution: def sumOfDigits(self, A: List[int]) -> int: return 1 - sum(map(int, str(min(A)))) % 2
or:
1 2 3 | class Solution: def sumOfDigits(self, A: List[int]) -> int: return 1 - sum(int(c) for c in str(min(A))) % 2 |
class Solution: def sumOfDigits(self, A: List[int]) -> int: return 1 - sum(int(c) for c in str(min(A))) % 2
–EOF (The Ultimate Computing & Technology Blog) —
推荐阅读:How to Find N-Repeated Element in Size 2N Array? How to Mirror a Binary Tree? 中文视听网手机版中文视听APP(最新版)下载 作文写作指导:小学生作文该怎么写? 小学作文需增长孩子的视野,鼓励孩子表达 六年级劳动节作文 五年级作文:不该丢失的童年色彩 六年级作文:我和秋天有个约会 数学故事:流传久远的算术趣题 趣味数学:什么是完全数
- 评论列表
-
- 添加评论