From 40ed36657bc788c7cc852306cf9742e324f3799a Mon Sep 17 00:00:00 2001 From: avivasyuta Date: Wed, 5 Feb 2025 21:56:30 +0100 Subject: [PATCH] number of provinces solution --- content/blog/disjoint_set/index.md | 1 + .../blog/number_of_provinces/go/solution.go | 52 +++++++++ .../number_of_provinces/go/solution_test.go | 42 +++++++ content/blog/number_of_provinces/index.md | 107 ++++++++++++++++++ .../number_of_provinces/ts/solution.spec.ts | 37 ++++++ .../blog/number_of_provinces/ts/solution.ts | 46 ++++++++ .../images/previews/number_of_provinces.webp | Bin 0 -> 61954 bytes 7 files changed, 285 insertions(+) create mode 100644 content/blog/number_of_provinces/go/solution.go create mode 100644 content/blog/number_of_provinces/go/solution_test.go create mode 100644 content/blog/number_of_provinces/index.md create mode 100644 content/blog/number_of_provinces/ts/solution.spec.ts create mode 100644 content/blog/number_of_provinces/ts/solution.ts create mode 100644 public/images/previews/number_of_provinces.webp diff --git a/content/blog/disjoint_set/index.md b/content/blog/disjoint_set/index.md index 4059edd..847db69 100644 --- a/content/blog/disjoint_set/index.md +++ b/content/blog/disjoint_set/index.md @@ -6,6 +6,7 @@ preview_image: /images/previews/disjoint_set.webp tags: - data_structure - graph + - disjoint_set --- --- diff --git a/content/blog/number_of_provinces/go/solution.go b/content/blog/number_of_provinces/go/solution.go new file mode 100644 index 0000000..f69b599 --- /dev/null +++ b/content/blog/number_of_provinces/go/solution.go @@ -0,0 +1,52 @@ +package number_of_provinces + +type DisjointSet struct { + nodes []int +} + +func NewDisjointSet(size int) DisjointSet { + nodes := make([]int, size) + + for i := 0; i < size; i++ { + nodes[i] = i + } + + return DisjointSet{ + nodes: nodes, + } +} + +func (uf *DisjointSet) find(node int) int { + return uf.nodes[node] +} + +func (uf *DisjointSet) union(x int, y int) { + rootX := uf.find(x) + rootY := uf.find(y) + + if rootY != rootX { + for i := range uf.nodes { + if uf.nodes[i] == rootY { + uf.nodes[i] = rootX + } + } + } +} + +func findCircleNum(isConnected [][]int) int { + n := len(isConnected) + disjointSet := NewDisjointSet(n) + + numberOfProvinces := n + + for i := 0; i < n; i++ { + for j := i + 1; j < n; j++ { + if isConnected[i][j] == 1 && disjointSet.find(i) != disjointSet.find(j) { + numberOfProvinces -= 1 + disjointSet.union(i, j) + } + } + } + + return numberOfProvinces +} diff --git a/content/blog/number_of_provinces/go/solution_test.go b/content/blog/number_of_provinces/go/solution_test.go new file mode 100644 index 0000000..ca4f686 --- /dev/null +++ b/content/blog/number_of_provinces/go/solution_test.go @@ -0,0 +1,42 @@ +package number_of_provinces + +import ( + "github.com/stretchr/testify/assert" + "testing" +) + +type suit struct { + name string + isConnected [][]int + expected int +} + +func Test_findCircleNum(t *testing.T) { + testCases := []suit{ + { + name: "example_1", + isConnected: [][]int{ + {1, 1, 0}, + {1, 1, 0}, + {0, 0, 1}, + }, + expected: 2, + }, + { + name: "example_2", + isConnected: [][]int{ + {1, 0, 0}, + {0, 1, 0}, + {0, 0, 1}, + }, + expected: 3, + }, + } + + for _, testCase := range testCases { + t.Run(testCase.name, func(t *testing.T) { + res := findCircleNum(testCase.isConnected) + assert.Equal(t, testCase.expected, res) + }) + } +} diff --git a/content/blog/number_of_provinces/index.md b/content/blog/number_of_provinces/index.md new file mode 100644 index 0000000..8a620fe --- /dev/null +++ b/content/blog/number_of_provinces/index.md @@ -0,0 +1,107 @@ +--- +layout: layouts/post.njk +title: Количество провинций +date: 2025-02-05 +complexity: medium +original_url: https://leetcode.com/problems/number-of-provinces/description/ +preview_image: /images/previews/number_of_provinces.webp +tags: + - medium + - graph + - disjoint_set +--- + +--- + +## Описание задачи + +Есть `n` городов, некоторые из которых соединены между собой. + +Если город `a` напрямую соединен c городом `b`, а город `b` напрямую соединен с городом `c`, тогда города `a` и `c` +косвенно соединены между собой. + +Провинция — это группа напрямую или косвенно связанных между собой городов. + +Вам дана матрица `isConnected` размером `n` x `n`, где `isConnected[i][j] = 1`, если `i`-й город и `j`-й город напрямую +соединены, и `isConnected[i][j] = 0` в противном случае. + +Верните общее количество провинций. + +--- + +## Ограничения + +- Размер матрицы `n` — это целое число в диапазоне от `1` до `200` +- В качестве значений в матрице используются только `1` b `0` +- `isConnected[i][j] == isConnected[j][i]` + +--- + +## Примеры + +{% tabs %} + +{% tab "Пример №1" %} + +**Входные данные** + +``` +isConnected = [[1,1,0],[1,1,0],[0,0,1]] +``` + +**Ответ**: `2` + +{% endtab %} + +{% tab "Пример №2" %} + +**Входные данные** + +``` +isConnected = [[1,0,0],[0,1,0],[0,0,1]] +``` + +**Ответ**: `3` + +{% endtab %} +{% endtabs %} + +--- + +## Решение + +У этой задачи достаточно много решений и все они достаточно сложные. Но мы можем легко решить задачу, если знать как +работает структура данных `DisjointSet` (также известная как `UnionFind`). + +Подробно про реализацию структуры данных `DisjointSet` можно посмотреть [в этом посте](../disjoint_set). + +Как только мы имеем реализованную структуру данных, задача становится крайне легкой. + +Алгоритм решения: + +- Создать инстанс структуру данных `DisjointSet`. +- Определить переменную `numberOfProvinces` равную `n` в начале состояния. Далее мы будем уменьшать ее значение при + объединении городов в провинцию. +- Так как главная диагональ матрицы `isConnected` отображает соединение каждого города с самим собой, то мы можем ее не + рассматривать. Также нам не требуется проверять всю матрицу так как `isConnected[i][j] == isConnected[j][i]`, поэтому + будем перебирать элементы над главной диагональю. Для этого запустим цикл в цикле по `i` и `j` от `i = 0` и + `j = i + 1`. +- Если два города соединены (`isConnected[i][j] == 1`) и они уже не находятся в одном множестве, то мы объединяем эти + города в множество при помощи метода — то мы объединяем города `i` и `j` в одну провинцию. + +В итоге после перебора элементов матрицы переменная `numberOfProvinces` будет показывать количество получившихся +провинций. + +### Оценка сложности + +**По времени** + +- Перебор матрицы занимает O(n2) +- Поиск методом find занимает `O(n)` +- Объединение методом union занимает `O(n)` + +Общая сложность по памяти O(n2). + +**По памяти** + +Сложность `O(n)` для хранения состояния структуры `DisjointSet`. diff --git a/content/blog/number_of_provinces/ts/solution.spec.ts b/content/blog/number_of_provinces/ts/solution.spec.ts new file mode 100644 index 0000000..c6a4fed --- /dev/null +++ b/content/blog/number_of_provinces/ts/solution.spec.ts @@ -0,0 +1,37 @@ +import { findCircleNum } from './solution'; + +type Suit = { + name: string + isConnected: number[][] + expected: number +} + +const suits: Suit[] = [ + { + name: "example_1", + isConnected: [ + [1, 1, 0], + [1, 1, 0], + [0, 0, 1], + ], + expected: 2, + }, + { + name: "example_2", + isConnected: [ + [1, 0, 0], + [0, 1, 0], + [0, 0, 1], + ], + expected: 3, + }, +] + +describe('findCircleNum', () => { + suits.forEach(suit => { + test(suit.name, () => { + const res = findCircleNum(suit.isConnected) + expect(res).toEqual(suit.expected); + }) + }) +}) diff --git a/content/blog/number_of_provinces/ts/solution.ts b/content/blog/number_of_provinces/ts/solution.ts new file mode 100644 index 0000000..30d5932 --- /dev/null +++ b/content/blog/number_of_provinces/ts/solution.ts @@ -0,0 +1,46 @@ +class DisjointSet { + readonly nodes: number[]; + + constructor(size: number) { + this.nodes = new Array(size); + + for (let i = 0; i < size; i++) { + this.nodes[i] = i; + } + } + + find(node: number): number { + return this.nodes[node]; + } + + union(x: number, y: number): void { + const rootX = this.find(x); + const rootY = this.find(y); + + if (rootX !== rootY) { + for (let i = 0; i < this.nodes.length; i++) { + if (this.nodes[i] === rootY) { + this.nodes[i] = rootX; + } + } + } + } +} + +export const findCircleNum = (isConnected: number[][]): number => { + const n = isConnected.length; + const disjointSet = new DisjointSet(n); + + let numberOfProvinces = n; + + for (let i = 0; i < n; i++) { + for (let j = i + 1; j < n; j++) { + if (isConnected[i][j] == 1 && disjointSet.find(i) != disjointSet.find(j)) { + numberOfProvinces -= 1; + disjointSet.union(i, j); + } + } + } + + return numberOfProvinces +} diff --git a/public/images/previews/number_of_provinces.webp b/public/images/previews/number_of_provinces.webp new file mode 100644 index 0000000000000000000000000000000000000000..8b8f0c24ff9cf301df740d5edc1b665da6600dca GIT binary patch literal 61954 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