Education + Jobs Hiring Website - 2025
0 like 0 dislike
28 views

This was 2nd round of DSA with LinkedIn.
Duration - 60 mins

Number of Questions - 2

  1. Max consecutive 1's in circular format. https://leetcode.com/problems/max-consecutive-ones-ii/description/ replacing 1's with 0s to form the largest island.
    Solution :
public int largestIslandCircular(int[] nums, int k) {
        int n = nums.length;
        int left = 0;
        int zeros = 0;
        int maxIsland = 0;
        for (int right = 0; right < 2 * n; right++) {
            // Use modulo to simulate circularity
            if (nums[right % n] == 0) {
                zeros++;
            }
            while (zeros > k || (right - left + 1) > n) {
                if (nums[left % n] == 0) {
                    zeros--;
                }
                left++;
            }
            maxIsland = Math.max(maxIsland, right - left + 1);
            if (maxIsland == n) return n;
        }
        return maxIsland;
    }
  1. Variation of https://leetcode.com/problems/find-k-closest-elements/description/
    Solution :
public List<Integer> closestKValues(TreeNode root, double target, int k) {
        Deque<Integer> dq = new ArrayDeque<>();
        // Start the optimized in-order traversal
        inorder(root, target, k, dq);
        return new ArrayList<>(dq);
    }

    private boolean inorder(TreeNode node, double target, int k, Deque<Integer> dq) {
        if (node == null) return true;
        if (!inorder(node.left, target, k, dq)) return false;

        if (dq.size() < k) {
            dq.addLast(node.val);
        } else {
            if (Math.abs(node.val - target) < Math.abs(dq.peekFirst() - target)) {
                dq.removeFirst();
                dq.addLast(node.val);
            } else {
                // all nodes to the right are also further.
                return false; 
            }
        }
        return inorder(node.right, target, k, dq);
    }
ago in Online Assessments by Expert (147,320 points) | 28 views

Please log in or register to answer this question.