Mock Interview: Google #6

JJ·2021년 3월 29일
0

MockTest

목록 보기
15/60

Range Sum Query: Mutable

class NumArray {
    int[] n;
    public NumArray(int[] nums) {
        this.n = nums;
    }
    
    public void update(int index, int val) {
        this.n[index] = val;
    }
    
    public int sumRange(int left, int right) {
        int sum = 0;
        for (int i = left; i <= right; i++) {
            sum += this.n[i];
        }
                                              
        return sum; 
        
    }
}

/**
 * Your NumArray object will be instantiated and called as such:
 * NumArray obj = new NumArray(nums);
 * obj.update(index,val);
 * int param_2 = obj.sumRange(left,right);
 */

Time Limit Exceeded

이거 말고 어떻게 풀어야 할지 감도 안온다는점..^^

Largest Time for Given Digits

//can only use it once
class Solution {
    public String largestTimeFromDigits(int[] arr) {
        Map<Integer, Integer> m = new HashMap<Integer, Integer>();
        for (int a : arr) {
            m.add(a, m.getOrDefault(a, 0) + 1);
        }
        
        int hour = 0; 
        
        if (m.containsKey(2)) {
            m.put(2, m.get(2) - 1);
            
            if (m.get(2) <= 0) {
                m.remove(2);
            }
            
            hour += 20;
            
        } else if (m.containsKey)
        
    }
}

이렇게 풀다가 안될거 같아서 모든 콤비네이션을 확인하려고 했는데 그러면 4중포문이... rg?^^
이거도 어케 풀어야 할지 모르겠네여 ㅎ

0개의 댓글