908. Smallest Range I

LeetCode easy original: C# #array #csharp #easy #leetcode #math
選択した UI 言語に合わせて問題文をロシア語から翻訳します。コードは変更しません。

Вам дан 整数 配列 nums и 整数 k. За одну операцию вы можете выбрать любой индекс i, где 0 <= i < nums.length, и изменить nums[i] на nums[i] + x, где x - 整数 из диапазона [-k, k]. Эту операцию можно применять не более одного раза для каждого индекса i. Оценка nums - это разница между максимальным и минимальным elementами в nums. return минимальную оценку nums после Applications указанной операции не более одного раза для каждого индекса в нем.

例:

Input: nums = [1], k = 0

Output: 0

C# 解法

照合済み/オリジナル
public class Solution {
    public int SmallestRangeI(int[] nums, int k) {
        int minVal = int.MaxValue;
        int maxVal = int.MinValue;
        foreach (int num in nums) {
            if (num < minVal) minVal = num;
            if (num > maxVal) maxVal = num;
        }
        return Math.Max(0, (maxVal - k) - (minVal + k));
    }
}

C++ 解法

自動ドラフト、提出前に確認
#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 int SmallestRangeI(vector<int>& nums, int k) {
        int minVal = int.MaxValue;
        int maxVal = int.MinValue;
        foreach (int num in nums) {
            if (num < minVal) minVal = num;
            if (num > maxVal) maxVal = num;
        }
        return max(0, (maxVal - k) - (minVal + k));
    }
}

Java 解法

照合済み/オリジナル
class Solution {
    public int smallestRangeI(int[] nums, int k) {
        int minVal = Integer.MAX_VALUE;
        int maxVal = Integer.MIN_VALUE;
        for (int num : nums) {
            if (num < minVal) minVal = num;
            if (num > maxVal) maxVal = num;
        }
        return Math.max(0, (maxVal - k) - (minVal + k));
    }
}

Algorithm

1⃣find минимальное и максимальное значения 配列а nums.

2⃣Рассчитать потенциальные новые минимальные и максимальные значения после Applications операции.

3⃣Вычислить минимальную оценку, сравнивая разницу между всеми возможными новыми минимальными и максимальными значениями.

😎

Vacancies for this task

有効な求人 with overlapping task tags are 表示.

すべての求人
有効な求人はまだありません。