Rút gọn mảng đã đc sắp xếp

CoderToDev

Đơn giản

100 Điểm

Giới hạn ký tự: 3000

Cho một mảng a đã được sắp xếp. Bạn hãy trả về mảng theo cách rút gọn các đoạn.

Ví dụ:

Với a = [0, 1, 2, 4, 5, 7] thì kết quả summary_ranges(a) = ["0->2","4->5","7"]
giúp em câu này với ạ

bạn có khả năng giải ví dụ đó bằng tay không?
nếu có thì hãy dùng giấy viết trình bày cách bạn thực hiện cho ví dụ đó rồi post lên đây
nếu không thì không có gì để giúp cả

8 Likes

2 posts were merged into an existing topic: Topic lưu trữ các post off-topic - version 3

a=[0,1,2,4,5,7]
ans=[]
for i in range(len(a)):
    if int(a[i])+1!=int(a[i+1]):
        b=str(a[0])+"->"+str(a[i])
        ans.append(b)
        a=a[i+1:]
        print(a)
        print(ans)

e định làm v nma ko biết xử lý cái đoạn if int(a[i])+1!=int(a[i+1]): như nào n cứ báo lỗi

bạn chạy từ i = 0 đến len(a) thì nó bị quá index nếu i = len(a). Nếu mà chạy từ 1 đến len(a) rồi so sánh a[i] với a[i-1] nó sẽ ko lỗi nữa, hoặc là chạy từ 0 đến len(a) - 1

a=a[i+1:]

Chỗ này xử lí quá “cồng kềnh” :smiley:

Dạng này là state transition :slight_smile:

  • Muốn biết đang ở state nào ta chỉ cần so với số liền trước.
  • Khi chuyển trạng thái ta lưu ngay các thứ cần thiết.
3 Likes

đọc hiểu đề -> giải ví dụ bằng tay -> cách giải (non code, có thể hiểu là mã giả hoặc cái gì đó tương tự) -> code -> kiểm tra lại với một số case khác, case đặc biệt

ở cty mình có làm memtor cho một số bạn sv thực tập ở cty (thường là năm cuối, thực tập rồi làm luôn), mình thấy chỉ cần đưa ra yêu cầu là các bạn ấy code ngay lập tức, không hề có phút giây suy nghĩ nào
sau 1 buổi mình hỏi tình hình thế nào là các bạn ấy cứ show code ra cho mình, mình hỏi dòng code line x đó để làm gì (vì thấy nó chả có ý nghĩa gì trong chương trình) thì các bạn ấy đơ đơ không biết, đúng y như kiểu có đề bài là phải code

code chỉ là công cụ mô tả ý tưởng để máy tính thực hiện, không phải đọc đề cứ code rồi sửa tới sửa lui là ra được đáp án. câu trả lời mong đợi của mình là 1 tờ giấy nháp ghi lại bài giải của bạn, kèm với một mã giả. Khi bạn chưa biết bạn cần phải làm gì (mã giả hoặc sơ đồ khối các bước thực hiện) thì chả thể nào code đúng được. Còn nếu bạn nói là một số người không có ghi gì ra, không có tính toán gì cũng ngồi gõ code mà vẫn đúng thì sao? Thì xin thưa là cùng 1 bài toán, có người cần giấy nháp, có người không cần giấy nháp, không dùng giấy nháp không có nghĩa là họ bỏ qua bước suy nghĩ mà chỉ đơn giản là họ đã suy nghĩ xong và nhớ được idea đó thôi

11 Likes

Hahaha, “bệnh” của… “giờ thì anh code để làm gì?”. Không riêng gì code, mình có ông bạn làm chủ xưởng mộc, cũng y chang, ổng đành phải thừa nhận rằng nhiều “thým” suốt đời chỉ biết sai đâu đánh đó. Những thým không tìm ra ý nghĩa của việc mình làm/ không hiểu nó đang làm gì thì có kinh nghiệm 30 năm cũng không bằng các em 5 năm.

6 Likes

Đồng quan điểm!
Giao cho yêu cầu, cái ngồi lao vào code.
Code xong đúng cũng ko biết vì sao đúng(rùa), mà sai thì cũng ko biết sai ở đâu mà sửa.
Ngồi sửa rợ rợ cả buổi càng sửa càng sai.
Ở trường, giảng viên không chú trọng việc đào tạo “tư duy” & phân tích cho sinh viên thì phải. !?
Review task mà member nào chỉ đưa source, ngoài ra ko có tài liệu phân tích, mô tả ý tưởng gì là tui bắt làm lại hết.

6 Likes

Đọc hoài mà cũng chưa hiểu yêu cầu của để bài :frowning:

Lỗi chỗ này, không được thay đổi list khi đang duyệt list.

Để khắc phục thì bạn nên sử dụng kĩ thuật windowing. Mỗi window sẽ chứa 1 dãy cấp số cộng có công sai bằng 1.

Còn việc viết mã giả gì đó thì nên làm, không có nhiều người thích đọc code trực tiếp đâu, còn người thích đọc legacy code càng hiếm nữa.

4 Likes

“Thyệt luăn hẩ chờy!” :sweat_smile:
Các số liên tiếp thì sẽ thành "số_đầu -> số_cuối".

4 Likes

Thiệt luôn hả trời hay là gì đây? Không rõ các bạn 9x ở đây có từng vọc cái teen code mà báo chí cho rằng phụ huynh bó tay như bên dưới:

code_2_iuky

2 Likes

Mình 9x nhưng từng dùng cái “teen code” nào cả. Nói thật là cực ghét nó luôn ấy.
Còn “Thyệt luăn hẩ chờy!” chỉ để vui.

😌

Hoặc cà khịa nhiều người viết sai chính tả tiếng Việt. :smiling_imp:. Không phải bạn @TaoLaoBidaoBanBanhBa đâu nhé.:yum:
Nhiều bạn hỏi mà viết hoa đầu câu, dấu thanh, dấu câu sai tè le. Mình thực sự khó chịu.

5 Likes

Teen code như trên mà phụ huynh muốn đọc được thì chắc phải dùng “teencode translator” quá :upside_down_face:

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