Tôi có một câu hỏi liên quan đến sự phức tạp về thời gian (ký hiệu O lớn) cho phần mềm Java. Có cách nào để nhanh chóng tính toán hoặc kiểm tra nó (hoặc bất kỳ trang web có thể tính toán nó cho tôi sẽ được hoan nghênh). Ví dụ tôi muốn kiểm tra xem nó cho đoạn mã sau đây và có thể cải thiện cũng như:Một công cụ để tính toán độ phức tạp thời gian lớn của mã Java?
int dcount = 24423567;
int a = 0;
if (dcount == 0){
a = 1;
}
String ds = Integer.toString(dcount);
String[] sa = ds.split("(?<=.)");
HashSet hs = new HashSet();
Collections.addAll(hs, sa);
a = hs.size();
if (dcount < 0)
a--;
System.out.println(a);
"Độ phức tạp thời gian" thường có nghĩa là độ phức tạp của trường hợp xấu nhất. Vấn đề này đã được chứng minh là không thể. – emory
Tôi có nghĩa là (big-O) phức tạp. Cũng sẽ chỉnh sửa bài đăng. – aretai
Nếu bạn muốn đếm các chữ số riêng biệt trong một số, mã đó chắc chắn không phải là giải pháp tối ưu cả về thời gian và không gian. –