11.3 All Factor

Given a number N, find all factors of N.

Example:

N = 6 factors = [1, 2, 3, 6]

N = 36, factor=[1, 2, 3, 4, 6, 9, 12, 18, 36]

Make sure the returned array is sorted.

https://www.interviewbit.com/problems/all-factors/

Note:

  • We only need to check upto Math.sqrt(A)
  • Co factor: if (num != A / num) { res.add(A / num); }
  • Time: O(sqrt(N))
public class Solution {
    public ArrayList<Integer> allFactors(int A) {
        ArrayList<Integer> res = new ArrayList<>();
        int sqrt = (int) Math.sqrt(A);
        for (int num = 1; num <= sqrt; num++) {

            if (A % num == 0) { 
                res.add(num);
                if (num != A / num)
                    res.add(A / num);
            }
        }
        Collections.sort(res);
        return res;
    }
}

results matching ""

    No results matching ""