01/10/2018, 12:02
Câu lệnh s[a[i]-'a']++ có ý nghĩa gì?
s[a[i]-‘a’]++; mọi người cho e hỏi cái chỗ này với ạ
Bài liên quan
s[a[i]-‘a’]++; mọi người cho e hỏi cái chỗ này với ạ
Câu này để tính bảng tần suất. Nếu có kí tự nào khác ngoài ‘a’ - ‘z’ thì lỗi đấy.
Do ‘a’ - ‘z’ là một dải liên tục và thực chất đây là dải số tự nhiên liên tục (0x61, 0x62, …, 0x86 không thiếu số nào) nên ta chỉ cần trừ cho ‘a’ thôi.
'a'
tức là97
(Tra google bảng mã ASCII)Giả sử
i == 15
,a[15] == 120
=>a[i] - 'a' == 23
s[23]++
hay còn làs[23] = s[23] + 1
Nếu ra 33 được thì phải code lại vì reqs không đúng.
Tính nhầm í mà
e cảm ơn a nhiều ạ:heart_eyes:
a[15] sao lại bằng 120??? trả lời dùm e cái!
Anh ấy đang giả sử thôi bạn.
Thực ra mục đích sử dụng của câu lệnh này lại gắn với bài toán mà anh rogp10 đã nói ở trên.