Bạn sẽ "viết 1 hàm tìm số có giá trị lớn thứ 2 trong dãy số cho trước" như thế nào?


(Nha Hai) #61

sao lại dùng sort , đơn giản thế thì ai đánh đố làm gì,


(Trần Hoàn) #62

Bài này nếu là câu hỏi phỏng vấn, người trả lời nên mềm dẻo. Ai cũng có thể nghĩ cách sort rồi chọn, nhưng đó không phải là cách nhanh nhất.

“Tuỳ theo mục đích của việc chọn số lớn thứ 2 trong dãy. Nếu hàm này không có thay đổi nhiều, lại được sử dụng nhiều lần trong hệ thống thì em sẽ chọn cách code …(1 vòng for)… vì nó nhanh hơn. Nhưng nếu hàm này ít được sử dụng, hoặc có thể phải thay đổi theo yêu cầu hệ thống, có thể là số lớn thứ 3, 4, 5… thì em sẽ chọn cách code …(sort rồi tìm)… vì code đó đơn giản, dễ hiểu, dễ bảo trì hơn”


(rogp10) #63

^ Sort nửa mảng là được :smiley: (quickselect)


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?