## hai-week-3-intersection-array ## описание задачи Find the intersection of two **sorted** arrays **OR** in other words, given 2 sorted arrays, find all the elements which occur in both arrays. **NOTE:** For the purpose of this problem ( as also conveyed by the sample case ), assume that elements that appear more than once in both arrays should be included multiple times in the final output. **Problem Constraints** 1 <= **|A|** <= 106 1 <= **|B|** <= 106 **Input Format** The first argument is an integer array A. The second argument is an integer array B. **Output Format** Return an array of intersection of the two arrays. **Example Input** **Input 1**: **A**: [1 2 3 3 4 5 6] **B**: [3 3 5] **Input 2**: **A**: [1 2 3 3 4 5 6] **B**: [3 5] **Example Output** **Output 1**: [3 3 5] **Output 2**: [3 5] **Example Explanation** Explanation 1: 3, 3, 5 occurs in both the arrays A and B Explanation 2: Only 3 and 5 occurs in both the arrays A and B ## тест кейсы ## текстовое описание решения ## ассимптотическая оценка | Description | Estimation | | ----------- | ------------- | | time: | `O(n+m)` | | mem: | `O(min(n,m))` | ## time | Description | Time | | ------------------------------------------- | ----- | | анализ и сбор информации | 14:20 | | обдумываение решения и формулировка решения | 25:30 | | имплементация | 06:10 | | исправление ошибок | 06:12 | | полное время затраченое на решение | 51:14 | ## журнал ошибок - условие окончание цикла поставил `||` вместо `&&` - двигал указатели каждый и после условия равенства и после проверки большего меньшего, вы нес проверку в исключающуся ветвь else ## code ### typescript ```ts export function intersectionSortedArray(a: number[], b: number[]): number[] { let res: number[] = []; let aI = 0; let bI = 0; while (aI < a.length && bI < b.length) { let aValue = a[aI]; let bValue = b[bI]; if (aValue === bValue) { res.push(aValue); aI++; bI++; } else { aValue < bValue ? aI++ : bI++; } } return res; }; ```