Merge branch 'master' of github.com:Cathay-Chen/hello-algo

This commit is contained in:
Cathay
2022-12-29 17:43:34 +08:00
140 changed files with 7609 additions and 893 deletions

View File

@ -79,16 +79,19 @@ func (l *MyList) insert(num, index int) {
}
/* 删除元素 */
func (l *MyList) remove(index int) {
func (l *MyList) remove(index int) int {
if index >= l.numsSize {
panic("索引越界")
}
num := l.nums[index]
// 索引 i 之后的元素都向前移动一位
for j := index; j < l.numsSize-1; j++ {
l.nums[j] = l.nums[j+1]
}
// 更新元素数量
l.numsSize--
// 返回被删除元素
return num
}
/* 列表扩容 */
@ -103,4 +106,4 @@ func (l *MyList) extendCapacity() {
func (l *MyList) toArray() []int {
// 仅转换有效长度范围内的列表元素
return l.nums[:l.numsSize]
}
}

View File

@ -42,7 +42,7 @@ func printTree(root *TreeNode) {
printTree(root.right)
}
/* 函数(或称方法)*/
/* 函数 */
func function() int {
// do something...
return 0

View File

@ -21,15 +21,15 @@ func merge(nums []int, left, mid, right int) {
i, j := left_start, right_start
// 通过覆盖原数组 nums 来合并左子数组和右子数组
for k := left; k <= right; k++ {
// 若 “左子数组已全部合并完”,则选取右子数组元素,并且 j++
// 若“左子数组已全部合并完”,则选取右子数组元素,并且 j++
if i > left_end {
nums[k] = tmp[j]
j++
// 否则,若 “右子数组已全部合并完”“左子数组元素 < 右子数组元素”,则选取左子数组元素,并且 i++
// 否则,若“右子数组已全部合并完”“左子数组元素 < 右子数组元素”,则选取左子数组元素,并且 i++
} else if j > right_end || tmp[i] <= tmp[j] {
nums[k] = tmp[i]
i++
// 否则,若 “左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
// 否则,若“左子数组元素 > 右子数组元素”,则选取右子数组元素,并且 j++
} else {
nums[k] = tmp[j]
j++