작성
·
207
0
질문드립니다.
시간복잡도 O(n) 라고 하셨는데 궁금한점이 있습니다,.
for(int i=0; i<n; i++) {
System.out.println(n);
}
이와같이 n개의 데이터를 받아서 처리하는경우라고 알고있는데요
for(char x : b.toCharArray()) {
bmap.put(x, bmap.getOrDefault(x, 0) +1);
}
====> n
int L = b.length()-1;
for(int i=0; i<L; i++) {
amap.put(a.charAt(i), amap.getOrDefault(a.charAt(i), 0)+1);
}
=======> n
int lt =0;
for(int rt = L; rt<a.length(); rt++) {
amap.put(a.charAt(rt), amap.getOrDefault(a.charAt(rt), 0)+1);
if(amap.equals(bmap)) {
answer ++;
}
amap.put(a.charAt(lt), amap.get(a.charAt(lt))-1);
if(amap.get(a.charAt(lt))==0) amap.remove(a.charAt(lt));
lt++;
}
rt =====> n
이와같이 3개의 변수를 선언한경우도
동일하게 O(n)이 되는건가요?
보기만 봐서는 O(3n)의 느낌인데
시간복잡도 계산방법과 해당 n 판별법이 궁금합니다.