fix(ru): align proofreading corrections with the Simplified Chinese original (#2004)

* docs(ru): correct proofreading issues in prose and code examples

* docs(ru): align proofreading edits with Simplified Chinese source

* fix(ru): repair generated Zig statements and complete comment translations
This commit is contained in:
Yudong Jin
2026-10-27 18:19:11 +08:00
committed by GitHub
parent 350f483801
commit 71a773df64
149 changed files with 675 additions and 649 deletions

View File

@@ -4,9 +4,9 @@
* Author: JoseHung (szhong@link.cuhk.edu.hk)
*/
/* Бинарный поиск (двусторонне замкнутый интервал) */
/* Двоичный поиск (замкнутый интервал) */
function binarySearch(nums, target) {
// Инициализировать двусторонне замкнутый интервал [0, n-1], то есть i и j указывают на первый и последний элементы массива соответственно
// Инициализировать замкнутый интервал [0, n-1], то есть i и j указывают на первый и последний элементы массива соответственно
let i = 0,
j = nums.length - 1;
// Цикл завершается, когда диапазон поиска пуст (при i > j диапазон пуст)
@@ -25,9 +25,9 @@ function binarySearch(nums, target) {
return -1;
}
/* Бинарный поиск (лево замкнутый, право открытый интервал) */
/* Двоичный поиск (интервал, замкнутый слева и открытый справа) */
function binarySearchLCRO(nums, target) {
// Инициализировать лево замкнутый, право открытый интервал [0, n), то есть i и j указывают на первый элемент массива и позицию сразу за последним элементом соответственно
// Инициализация интервала [0, n), замкнутого слева и открытого справа: i указывает на первый элемент массива, а j — на позицию сразу за последним
let i = 0,
j = nums.length;
// Цикл завершается, когда диапазон поиска пуст (при i = j диапазон пуст)
@@ -51,10 +51,10 @@ function binarySearchLCRO(nums, target) {
const target = 6;
const nums = [1, 3, 6, 8, 12, 15, 23, 26, 31, 35];
/* Бинарный поиск (двусторонне замкнутый интервал) */
/* Двоичный поиск (замкнутый интервал) */
let index = binarySearch(nums, target);
console.log('Индекс целевого элемента 6 = ' + index);
/* Бинарный поиск (лево замкнутый, право открытый интервал) */
/* Двоичный поиск (интервал, замкнутый слева и открытый справа) */
index = binarySearchLCRO(nums, target);
console.log('Индекс целевого элемента 6 = ' + index);

View File

@@ -6,7 +6,7 @@
const { binarySearchInsertion } = require('./binary_search_insertion.js');
/* Бинарный поиск самого левого target */
/* Двоичный поиск самого левого элемента target */
function binarySearchLeftEdge(nums, target) {
// Эквивалентно поиску точки вставки target
const i = binarySearchInsertion(nums, target);
@@ -14,11 +14,11 @@ function binarySearchLeftEdge(nums, target) {
if (i === nums.length || nums[i] !== target) {
return -1;
}
// Найти target и вернуть индекс i
// target найден, возвращается индекс i
return i;
}
/* Бинарный поиск самого правого target */
/* Двоичный поиск самого правого элемента target */
function binarySearchRightEdge(nums, target) {
// Преобразовать задачу в поиск самого левого target + 1
const i = binarySearchInsertion(nums, target + 1);
@@ -28,7 +28,7 @@ function binarySearchRightEdge(nums, target) {
if (j === -1 || nums[j] !== target) {
return -1;
}
// Найти target и вернуть индекс j
// target найден, возвращается индекс j
return j;
}
@@ -36,7 +36,7 @@ function binarySearchRightEdge(nums, target) {
// Массив с повторяющимися элементами
const nums = [1, 3, 6, 6, 6, 6, 6, 10, 12, 15];
console.log('\nМассив nums = ' + nums);
// Бинарный поиск левой и правой границы
// Двоичный поиск левой и правой границы
for (const target of [6, 7]) {
let index = binarySearchLeftEdge(nums, target);
console.log('Индекс самого левого элемента ' + target + ' равен ' + index);

View File

@@ -4,10 +4,10 @@
* Author: Gaofer Chou (gaofer-chou@qq.com)
*/
/* Бинарный поиск точки вставки (без повторяющихся элементов) */
/* Двоичный поиск точки вставки (без повторяющихся элементов) */
function binarySearchInsertionSimple(nums, target) {
let i = 0,
j = nums.length - 1; // Инициализировать двусторонне замкнутый интервал [0, n-1]
j = nums.length - 1; // Инициализировать замкнутый интервал [0, n-1]
while (i <= j) {
const m = Math.floor(i + (j - i) / 2); // Вычислить индекс середины m, используя Math.floor() для округления вниз
if (nums[m] < target) {
@@ -15,17 +15,17 @@ function binarySearchInsertionSimple(nums, target) {
} else if (nums[m] > target) {
j = m - 1; // target находится в интервале [i, m-1]
} else {
return m; // Найти target и вернуть точку вставки m
return m; // target найден, возвращается точка вставки m
}
}
// target не найден, вернуть точку вставки i
return i;
}
/* Бинарный поиск точки вставки (с повторяющимися элементами) */
/* Двоичный поиск точки вставки (с повторяющимися элементами) */
function binarySearchInsertion(nums, target) {
let i = 0,
j = nums.length - 1; // Инициализировать двусторонне замкнутый интервал [0, n-1]
j = nums.length - 1; // Инициализировать замкнутый интервал [0, n-1]
while (i <= j) {
const m = Math.floor(i + (j - i) / 2); // Вычислить индекс середины m, используя Math.floor() для округления вниз
if (nums[m] < target) {
@@ -44,7 +44,7 @@ function binarySearchInsertion(nums, target) {
// Массив без повторяющихся элементов
let nums = [1, 3, 6, 8, 12, 15, 23, 26, 31, 35];
console.log('\nМассив nums = ' + nums);
// Бинарный поиск точки вставки
// Двоичный поиск точки вставки
for (const target of [6, 9]) {
const index = binarySearchInsertionSimple(nums, target);
console.log('Индекс позиции вставки элемента ' + target + ' равен ' + index);
@@ -53,7 +53,7 @@ for (const target of [6, 9]) {
// Массив с повторяющимися элементами
nums = [1, 3, 6, 6, 6, 6, 6, 10, 12, 15];
console.log('\nМассив nums = ' + nums);
// Бинарный поиск точки вставки
// Двоичный поиск точки вставки
for (const target of [2, 6, 20]) {
const index = binarySearchInsertion(nums, target);
console.log('Индекс позиции вставки элемента ' + target + ' равен ' + index);

View File

@@ -23,7 +23,7 @@ function linearSearchArray(nums, target) {
function linearSearchLinkedList(head, target) {
// Обойти связный список
while (head) {
// Найти целевой узел и вернуть его
// Целевой узел найден, возвращается этот узел
if (head.val === target) {
return head;
}