01/10/2018, 00:21

Day 6 trong HackerRank

Đề bài : Given a string, S , of length N that is indexed from 0 to N - 1 , print its even-indexed and odd-indexed 2 characters as space-separated strings on a single line (see the Sample below for more detail).Note: 0 is considered to be an even index.
Mình làm ra kết quả giống như nó báo sai . Các cao nhân giúp cháu với .
Đây là code của mình :

lỗi nó báo :

Nguyễn Xuân Phúc viết 02:26 ngày 01/10/2018

The first line contains an integer, T (the number of test cases).
Each line i of the T subsequent lines contain a String, S.

T ở đây là số test case (số chuỗi) cần xử lý, còn theo bạn thì T ở đây chỉ để cho vui :-?
đâu phải lúc nào cũng chỉ có 2 xâu S và S1 đâu, có thể có 1, 2, … 10 xâu thì sai

Nguyễn Xuân Phúc viết 02:30 ngày 01/10/2018

ngoài ra còn lỗi chỗ for
i <= S.length() ???
các kí tự trong S chỉ đánh chỉ số từ 0 đến S.length()-1 mà

Thắng Bạch viết 02:33 ngày 01/10/2018

Chỗ T thì mình hiểu rùi . Còn chỗ length là sao bạn . Mình chưa hiểu lắm , ngoài length còn dùng hàm nào khai báo khác không ?

Nguyễn Xuân Phúc viết 02:23 ngày 01/10/2018

trong string, các ký tự của nó được đánh số như thế nào?
ví dụ xâu có N kí tự, thì chỉ số của các kí tự trong xâu có giá trị như thế nào? từ đâu đến đâu

Thắng Bạch viết 02:36 ngày 01/10/2018

Ví dụ có ABCD thì đánh số là 0123

Nguyễn Xuân Phúc viết 02:29 ngày 01/10/2018

vậy giả sử xâu đó tên S
thì S[4] = ?

Thắng Bạch viết 02:30 ngày 01/10/2018

3 , ghi cho đủ 20 ký tự :))

Nguyễn Xuân Phúc viết 02:31 ngày 01/10/2018

S[4] = 3???
cái vấn đề là xâu S có N kí tự thì kí tự S[N] là kí tự gì?

Thắng Bạch viết 02:25 ngày 01/10/2018

N-1 phải không ? Mình cũng không chắc lắm

Nguyễn Xuân Phúc viết 02:32 ngày 01/10/2018

thôi vầy đi, nếu nó có N kí tự, các kí tự là S[0], S[1], … S[N-1]. Vậy thì có tồn tại kí tự S[N] không? và nếu có nó là gì?

Thắng Bạch viết 02:38 ngày 01/10/2018

Thì bạn ghi có đến S[N-1] vậy thì sẽ không tồn tại S[N].

Thắng Bạch viết 02:37 ngày 01/10/2018

Mà nãy h mình nói có đúng không vậy :)) ? Sai thì bạn giải thích giúp mình luôn với

Nguyễn Xuân Phúc viết 02:22 ngày 01/10/2018

for (int i = 0; i <= S.length(); i++)
trường hợp mà i = s.length() thì chuyện gì xảy ra

Thắng Bạch viết 02:26 ngày 01/10/2018

Ví dụ chuỗi S là ABCD thì trường hợp i = s.lengh() là i =4 phải không ?

Nguyễn Xuân Phúc viết 02:37 ngày 01/10/2018

s.lengh() là i =4 ph

yup, khi đó thì S[4] đâu có đâu mà đem đi in :v

Thắng Bạch viết 02:37 ngày 01/10/2018

Nhưng sao trong mình chạy code vẫn chạy đúng kết quả mà

Nguyễn Xuân Phúc viết 02:31 ngày 01/10/2018

không hề đúng đâu nhá
chỉ là kí tự xuất ra đó k nhìn thấy bằng “mắt thường” được thôi

Thắng Bạch viết 02:21 ngày 01/10/2018

Vậy mình phải đổi length thành gì ?

Nguyễn Xuân Phúc viết 02:24 ngày 01/10/2018

cái vấn đề là thằng S[S.length()] là không có, k có duyệt nó
nếu các kí tự từ 0 đến N-1 thì duyệt bấy nhiêu thôi

Thắng Bạch viết 02:33 ngày 01/10/2018

thì mình hỏi là đổi thằng S.length() thành thằng nào khác để nó duyệt hết các ký tự từ 0 đến N :))

Bài liên quan
0