3314 - Construct the Minimum Bitwise Array I
info
- 문제 보기: 3314 - Construct the Minimum Bitwise Array I
- 소요 시간: 11분 5초
- 풀이 언어:
java - 체감 난이도: 2️⃣
- 리뷰 횟수: ✅
풀이 키워드
스포주의
구현 비트 조작
풀이 코드
info
- 메모리: 46250 KB
- 시간: 18 ms
class Solution {
public int[] minBitwiseArray(List<Integer> nums) {
int[] ans = new int[nums.size()];
for (int i = 0; i < nums.size(); ++i) {
for (int x = 0; x < 1001; ++x) {
if((x | (x+1)) == nums.get(i)) {
ans[i] = x;
break;
}
ans[i] = -1;
}
}
return ans;
}
}
풀이 해설
constraint가 허접해서 그냥 BF 돌렸는데... 아무래도 비트 트릭이 있어보여 추가로 알아보았다.