Leetcode 2289: Steps to Make Array Non-decreasing.

Link: link

Bài này thì bình thường thôi không quá khó nhưng mình vẫn chưa làm được.

Đề yêu cầu rằng: Cho một chuỗi nums số tự nhiên từ 1 đến 10^9. Làm theo bước được yêu cầu mô tả và trả ra số bước cần làm để chuỗi trở thành một chuỗi tăng dần.

Để làm bài này mình đã có trò lươn lẹo một tý nhưng mà không thành công, chỉ pass được hai bài ví dụ:

class Solution {
public:
    int totalSteps(vector<int>& nums) {
        stack<int> S;
        int ans  = 0;
        int step = 0;
        if(nums.size() == 1) return ans;
        S.push(nums[0]);
        for(auto i = 1; i < nums.size(); ++i) {
            if(nums[i] < S.top()) {
                ++step;
            } else {
                ans = max(ans, step);
                step = 0;
                S.push(nums[i]);
            }
        }
        ans = max(ans, step);
        return ans;
    }
};

Và dính lại vào trường hợp này:

nums = [10,1,2,3,4,5,6,1,2,3]. Ans = 9 / Exp = 6;

Và đến cuối cùng mình vẫn chẳng làm được bài này nữa. Khó vãi chưởng. Vậy mà nhiều người làm nó trong một nốt nhạc phải nói là trình độ toán học quá chênh lệnh giữa mọi người đi.


Nhận xét

Bài đăng phổ biến từ blog này

Cách tạo ra một phần mềm exe với python