66. Plus One
Вам given большое number, представленное в виде mảngа целых чисел digits, где каждый element digits[i] — это i-я цифра числа. Цифры расположены в порядке от старшей к младшей слева направо. Большое number не содержит ведущих нулей.
Увеличьте большое number на один и return результирующий mảng цифр.
Ví dụ:
Input: digits = [1,2,3]
Output: [1,2,4]
Explanation: The array represents the integer 123.
Incrementing by one gives 123 + 1 = 124.
Thus, the result should be [1,2,4].
C# lời giải
đã khớp/gốcpublic class Solution {
public int[] PlusOne(int[] digits) {
int n = digits.Length;
for (int idx = n - 1; idx >= 0; --idx) {
if (digits[idx] == 9) {
digits[idx] = 0;
} else {
digits[idx]++;
return digits;
}
}
int[] newDigits = new int[n + 1];
newDigits[0] = 1;
return newDigits;
}
}
C++ lời giải
bản nháp tự động, xem lại trước khi gửi#include <bits/stdc++.h>
using namespace std;
// Auto-generated C++ draft from the C# solution. Review containers, LINQ and helper types before submit.
class Solution {
public:
public vector<int>& PlusOne(vector<int>& digits) {
int n = digits.size();
for (int idx = n - 1; idx >= 0; --idx) {
if (digits[idx] == 9) {
digits[idx] = 0;
} else {
digits[idx]++;
return digits;
}
}
vector<int>& newDigits = new int[n + 1];
newDigits[0] = 1;
return newDigits;
}
}
Java lời giải
đã khớp/gốcclass Solution {
public int[] plusOne(int[] digits) {
int n = digits.length;
for (int idx = n - 1; idx >= 0; --idx) {
if (digits[idx] == 9) {
digits[idx] = 0;
} else {
digits[idx]++;
return digits;
}
}
digits = new int[n + 1];
digits[0] = 1;
return digits;
}
}
JavaScript lời giải
đã khớp/gốcvar plusOne = function (digits) {
let n = digits.length;
for (let i = n - 1; i >= 0; --i) {
if (digits[i] == 9) {
digits[i] = 0;
} else {
digits[i]++;
return digits;
}
}
digits.unshift(1);
return digits;
};
Python lời giải
đã khớp/gốcclass Solution:
def plusOne(self, digits: List[int]) -> List[int]:
n = len(digits)
for i in range(n):
idx = n - 1 - i
if digits[idx] == 9:
digits[idx] = 0
else:
digits[idx] += 1
return digits
return [1] + digits
Go lời giải
đã khớp/gốcfunc plusOne(digits []int) []int {
n := len(digits)
for i := n - 1; i >= 0; i-- {
if digits[i] == 9 {
digits[i] = 0
} else {
digits[i]++
return digits
}
}
digits = append([]int{1}, digits...)
return digits
}
Algorithm
1️⃣
Проходим по Đầu vàoному mảngу, начиная с конца mảngа.
2️⃣
Устанавливаем все девятки на конце mảngа в ноль. Если мы встречаем цифру, не равную девяти, увеличиваем её на один. Работа выполнена — возвращаем mảng цифр.
3️⃣
Мы здесь, потому что все цифры были равны девяти. Теперь они все установлены в ноль. Затем мы добавляем цифру 1 в начало остальных цифр и возвращаем результат.
😎
Vacancies for this task
việc làm đang hoạt động with overlapping task tags are đã hiển thị.