DSA Questions: List Solutions in Dart

DSA Questions: List Solutions in Dart

DSA Questions: List Solutions in Dart

1. Reverse a List

Reverse the elements of a list without using built-in methods.


List reverseList(List list) {
  List reversed = [];
  for (int i = list.length - 1; i >= 0; i--) {
    reversed.add(list[i]);
  }
  return reversed;
}

void main() {
  print(reverseList([1, 2, 3, 4])); // Output: [4, 3, 2, 1]
}

      

2. Find Maximum and Minimum

Find the maximum and minimum elements in a list.


Map findMinMax(List list) {
  int min = list[0];
  int max = list[0];
  for (int num in list) {
    if (num < min) min = num;
    if (num > max) max = num;
  }
  return {'min': min, 'max': max};
}

void main() {
  print(findMinMax([3, 5, 1, 8, 2])); // Output: {min: 1, max: 8}
}

      

3. Find Duplicate Elements

Identify all duplicate elements in a list.


List findDuplicates(List list) {
  Set seen = {};
  Set duplicates = {};
  for (int num in list) {
    if (seen.contains(num)) {
      duplicates.add(num);
    } else {
      seen.add(num);
    }
  }
  return duplicates.toList();
}

void main() {
  print(findDuplicates([1, 2, 3, 1, 4, 2])); // Output: [1, 2]
}

      

4. Two Sum Problem

Find two numbers in the list that sum to a given target.


List twoSum(List nums, int target) {
  Map map = {};
  for (int i = 0; i < nums.length; i++) {
    int complement = target - nums[i];
    if (map.containsKey(complement)) {
      return [map[complement]!, i];
    }
    map[nums[i]] = i;
  }
  return [];
}

void main() {
  print(twoSum([2, 7, 11, 15], 9)); // Output: [0, 1]
}

      

© 2025 DSA Blog. All rights reserved.

Comments

Popular Posts