Задача 1: Групиране на думи с еднаква дължина
Напишете функция, която групира думите от списък по дължина.
Примерен вход: ["apple", "pie", "car", "banana", "ant", "tree"]
Примерен изход: {3: ["pie", "car", "ant"], 5: ["apple", "tree"], 6: ["banana"]}
Решение:
from collections import defaultdict
def group_by_length(words):
length_dict = defaultdict(list)
for word in words:
length_dict[len(word)].append(word)
return dict(length_dict)
# Примерен тест
print(group_by_length(["apple", "pie", "car", "banana", "ant", "tree"]))
JavaScript
function groupByLength(words) {
const lengthDict = {};
words.forEach(word => {
const len = word.length;
if (!lengthDict[len]) {
lengthDict[len] = [];
}
lengthDict[len].push(word);
});
return lengthDict;
}
// Примерен тест
console.log(groupByLength(["apple", "pie", "car", "banana", "ant", "tree"]));
// { 3: ["pie", "car", "ant"], 5: ["apple", "tree"], 6: ["banana"] }
Java
import java.util.*;
public class Main {
public static Map<Integer, List<String>> groupByLength(List<String> words) {
Map<Integer, List<String>> lengthDict = new HashMap<>();
for (String word : words) {
int len = word.length();
lengthDict.putIfAbsent(len, new ArrayList<>());
lengthDict.get(len).add(word);
}
return lengthDict;
}
// Примерен тест
public static void main(String[] args) {
List<String> words = Arrays.asList("apple", "pie", "car", "banana", "ant", "tree");
System.out.println(groupByLength(words));
// {3=[pie, car, ant], 5=[apple, tree], 6=[banana]}
}
}
Loading …
Задача 2: Изчисляване на медиана в списък от числа
Напишете функция, която изчислява медианата на списък от числа.
Примерен вход: [7, 1, 3, 4]
Примерен изход: 3.5
Решение:
def median(nums):
nums.sort()
n = len(nums)
mid = n // 2
if n % 2 == 0:
return (nums[mid - 1] + nums[mid]) / 2
return nums[mid]
# Примерен тест
print(median([7, 1, 3, 4])) # 3.5
JavaScript
function median(nums) {
nums.sort((a, b) => a - b);
const n = nums.length;
const mid = Math.floor(n / 2);
if (n % 2 === 0) {
return (nums[mid - 1] + nums[mid]) / 2;
} else {
return nums[mid];
}
}
// Примерен тест
console.log(median([7, 1, 3, 4])); // 3.5
Java
import java.util.*;
public class Main {
public static double median(List<Integer> nums) {
Collections.sort(nums);
int n = nums.size();
int mid = n / 2;
if (n % 2 == 0) {
return (nums.get(mid - 1) + nums.get(mid)) / 2.0;
} else {
return nums.get(mid);
}
}
// Примерен тест
public static void main(String[] args) {
List<Integer> nums = Arrays.asList(7, 1, 3, 4);
System.out.println(median(nums)); // 3.5
}
}