krahets 1 year ago
parent d5a58e0deb
commit c7794e1a84

@ -239,7 +239,7 @@ comments: true
```dart title="array.dart" ```dart title="array.dart"
/* 随机访问元素 */ /* 随机访问元素 */
int randomAccess(List nums) { int randomAccess(List<int> nums) {
// 在区间 [0, nums.length) 中随机抽取一个数字 // 在区间 [0, nums.length) 中随机抽取一个数字
int randomIndex = Random().nextInt(nums.length); int randomIndex = Random().nextInt(nums.length);
// 获取并返回随机元素 // 获取并返回随机元素
@ -411,7 +411,7 @@ comments: true
```dart title="array.dart" ```dart title="array.dart"
/* 在数组的索引 index 处插入元素 num */ /* 在数组的索引 index 处插入元素 num */
void insert(List nums, int num, int index) { void insert(List<int> nums, int num, int index) {
// 把索引 index 以及之后的所有元素向后移动一位 // 把索引 index 以及之后的所有元素向后移动一位
for (var i = nums.length - 1; i > index; i--) { for (var i = nums.length - 1; i > index; i--) {
nums[i] = nums[i - 1]; nums[i] = nums[i - 1];
@ -573,7 +573,7 @@ comments: true
```dart title="array.dart" ```dart title="array.dart"
/* 删除索引 index 处元素 */ /* 删除索引 index 处元素 */
void remove(List nums, int index) { void remove(List<int> nums, int index) {
// 把索引 index 之后的所有元素向前移动一位 // 把索引 index 之后的所有元素向前移动一位
for (var i = index; i < nums.length - 1; i++) { for (var i = index; i < nums.length - 1; i++) {
nums[i] = nums[i + 1]; nums[i] = nums[i + 1];
@ -772,19 +772,19 @@ comments: true
```dart title="array.dart" ```dart title="array.dart"
/* 遍历数组元素 */ /* 遍历数组元素 */
void traverse(List nums) { void traverse(List<int> nums) {
var count = 0; int count = 0;
// 通过索引遍历数组 // 通过索引遍历数组
for (var i = 0; i < nums.length; i++) { for (var i = 0; i < nums.length; i++) {
count += nums[i]; count += nums[i];
} }
// 直接遍历数组元素 // 直接遍历数组元素
for (var num in nums) { for (int num in nums) {
count += nums[i]; count += num;
} }
// 通过 forEach 方法遍历数组 // 通过 forEach 方法遍历数组
nums.forEach((element) { nums.forEach((num) {
count += element; count += num;
}); });
} }
``` ```
@ -954,7 +954,7 @@ comments: true
```dart title="array.dart" ```dart title="array.dart"
/* 在数组中查找指定元素 */ /* 在数组中查找指定元素 */
int find(List nums, int target) { int find(List<int> nums, int target) {
for (var i = 0; i < nums.length; i++) { for (var i = 0; i < nums.length; i++) {
if (nums[i] == target) return i; if (nums[i] == target) return i;
} }
@ -1143,7 +1143,7 @@ comments: true
```dart title="array.dart" ```dart title="array.dart"
/* 扩展数组长度 */ /* 扩展数组长度 */
List extend(List nums, int enlarge) { List<int> extend(List<int> nums, int enlarge) {
// 初始化一个扩展长度后的数组 // 初始化一个扩展长度后的数组
List<int> res = List.filled(nums.length + enlarge, 0); List<int> res = List.filled(nums.length + enlarge, 0);
// 将原数组中的所有元素复制到新数组 // 将原数组中的所有元素复制到新数组

@ -158,7 +158,7 @@ comments: true
/* 构造函数 */ /* 构造函数 */
ListNode *newListNode(int val) { ListNode *newListNode(int val) {
ListNode *node, *next; ListNode *node;
node = (ListNode *) malloc(sizeof(ListNode)); node = (ListNode *) malloc(sizeof(ListNode));
node->val = val; node->val = val;
node->next = NULL; node->next = NULL;
@ -1285,7 +1285,7 @@ comments: true
/* 构造函数 */ /* 构造函数 */
ListNode *newListNode(int val) { ListNode *newListNode(int val) {
ListNode *node, *next; ListNode *node;
node = (ListNode *) malloc(sizeof(ListNode)); node = (ListNode *) malloc(sizeof(ListNode));
node->val = val; node->val = val;
node->next = NULL; node->next = NULL;

@ -1817,13 +1817,13 @@ comments: true
/* 访问元素 */ /* 访问元素 */
pub fn get(&self, index: usize) -> i32 { pub fn get(&self, index: usize) -> i32 {
// 索引如果越界则抛出异常,下同 // 索引如果越界则抛出异常,下同
if index < 0 || index >= self.size {panic!("索引越界")}; if index >= self.size {panic!("索引越界")};
return self.arr[index]; return self.arr[index];
} }
/* 更新元素 */ /* 更新元素 */
pub fn set(&mut self, index: usize, num: i32) { pub fn set(&mut self, index: usize, num: i32) {
if index < 0 || index >= self.size {panic!("索引越界")}; if index >= self.size {panic!("索引越界")};
self.arr[index] = num; self.arr[index] = num;
} }
@ -1840,7 +1840,7 @@ comments: true
/* 中间插入元素 */ /* 中间插入元素 */
pub fn insert(&mut self, index: usize, num: i32) { pub fn insert(&mut self, index: usize, num: i32) {
if index < 0 || index >= self.size() {panic!("索引越界")}; if index >= self.size() {panic!("索引越界")};
// 元素数量超出容量时,触发扩容机制 // 元素数量超出容量时,触发扩容机制
if self.size == self.capacity() { if self.size == self.capacity() {
self.extend_capacity(); self.extend_capacity();
@ -1856,7 +1856,7 @@ comments: true
/* 删除元素 */ /* 删除元素 */
pub fn remove(&mut self, index: usize) -> i32 { pub fn remove(&mut self, index: usize) -> i32 {
if index < 0 || index >= self.size() {panic!("索引越界")}; if index >= self.size() {panic!("索引越界")};
let num = self.arr[index]; let num = self.arr[index];
// 将索引 index 之后的元素都向前移动一位 // 将索引 index 之后的元素都向前移动一位
for j in (index..self.size - 1) { for j in (index..self.size - 1) {

@ -288,7 +288,7 @@ comments: true
stack.push(4); stack.push(4);
/* 访问栈顶元素 */ /* 访问栈顶元素 */
let top = stack[stack.len() - 1]; let top = stack.last().unwrap();
/* 元素出栈 */ /* 元素出栈 */
let pop = stack.pop().unwrap(); let pop = stack.pop().unwrap();

@ -732,7 +732,7 @@ comments: true
/* 获取索引为 i 节点的父节点的索引 */ /* 获取索引为 i 节点的父节点的索引 */
parent(i) { parent(i) {
return (i - 1) / 2; return Math.floor((i - 1) / 2); // 向下取整
} }
/* 层序遍历 */ /* 层序遍历 */
@ -818,7 +818,7 @@ comments: true
/* 获取索引为 i 节点的父节点的索引 */ /* 获取索引为 i 节点的父节点的索引 */
parent(i: number): number { parent(i: number): number {
return (i - 1) / 2; return Math.floor((i - 1) / 2); // 向下取整
} }
/* 层序遍历 */ /* 层序遍历 */

Loading…
Cancel
Save