Cần giúp đỡ về giải thuật (có code càng tốt ạ)

Cho một chuỗi các số nguyên sau:

String chuoi= “1 2 3 5 4 6 7 8 9 8 7 6 5 11 12 13 15 14 16 18 2 4 3 5 7 9 11 11 11 12 13 14 3 4 32 1 2”
  • VD: 1 2 3 5 4 6 8 thì dãy con tăng dần đều bao gồm: [1 2 3]; [3 5]; [4 6 8]
  • Một dãy con sẽ có ít nhất 2 phần tử.

Hãy viết chương trình Level2, với đối tượng là DayCon. Hãy viết phương thức liệt kê các dãy con tăng dần có trong chuỗi trên

(Chỉ dùng String,StringBuiler,if else,for,whlie)

Vậy là cấp số cộng liên tiếp rồi.

3 Likes

Dùng java thì các bước chắc như vầy:

  1. split cái biên chuoi thành mảng các string theo điều kiện cắt là ký tự “space”, lưu vào 1 Array String (input)
  2. temp = 0
  3. Duyệt toàn bộ phần tử của input
    —> đổi phần tử hiện tại sang int rồi so sánh với temp
    ----|---->nếu >= temp thì xài String builder để append cái phần tử đó vào chuỗi kết quả. Gán temp = phần tử đang xét
    ----|—> Ngược lại thì in chuỗi kết quả. clear chuỗi kết quả về null. Xài String builder để append cái phần tử đó vào chuỗi kết quả. Gán temp = phần tử đang xét
5 Likes

Bài này nếu chỉ dùng String, StringBuilder, if else for while thì phải so sánh 2 chuỗi chứ ko được convert thành số :joy:

4 Likes

String.valueOf có gì mà không được dùng? Vẫn thuộc lớp String đấy thôi?

String.valueOf trả về String nhé. còn nếu muốn so sánh số thì phải viết riêng, nếu so sánh 2 string thì “12” sẽ lớn hơn “2”

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