LmaoSuVuong
Senior Member
bác a nô cứu, cái template bi search là tìm minimize thỏa condition thì java làm tròn xuống mid ok, h tìm maximize java không làm tròn lên dính TLE phải làm sao,Tìm số nguyên tố x gần nhất để nums[j] > nums[j-1]
Nếu ko thể tìm ra x, và nums[j] <= nums[j-1] thì tức là false.
Có cái hàm tìm số nguyên tố đi chôm
JavaScript:function primeSubOperation(nums: number[]): boolean { let ok = false, prev = 0; const check = (num: number): boolean => { if (num <= 1) return false; if (num <= 3) return true; if (num % 2 === 0 || num % 3 === 0) return false; for (let i = 5; i * i <= num; i += 6) { if (num % i === 0 || num % (i + 2) === 0) { return false; } } return true; }; const find = (num: number, target: number) => { if (num < target) return 0; for (let i = num - 1; i > 1; i--) { if (check(i) && num - i > target) return i } return 0; } for (let i = 0; i < nums.length; i++) { const val = find(nums[i], prev); if (!val && nums[i] <= prev) return false; prev = nums[i] - val } return true; };
mid = l+(r-l+1)/2; thấy nó sai trái quá
Sửa lần cuối:





, e duyệt từ đầu tới cuối thì phải tìm tham lam maximize ở từng vị trí 1 áp template python vào java nó hong có chạy do cơ chế làm tròn (?maybe vd l=2, r=3 ->mid=2 condition true l=mid=2 -> loop tới TLE) 