安装环境:
系统: Ubuntu22.04 LTS(64bit)
SQL: MySQL8.0

一、 MySQL安装

1. 更新 apt 索引

sudo apt update

2. 安装数据库, 在安装过程中, 会自动卸载已经安装的老版本数据

sudo apt install mysql-server-8.0
sudo service mysql restart
mysql -u root -p


- 阅读剩余部分 -

环境: Ubuntu 22.04 LTS

1. 安装

更新软件源:

sudo apt update

软件提供了 apt 存储库的抽象, 它允许你轻松管理你的发行版和独立软件供应商的软件源:

sudo apt install software-properties-common

添加 PHP 版本源

sudo add-apt-repository ppa:ondrej/php

安装 PHP 环境及依赖

sudo apt install php7.4-cli php7.4-fpm php7.4-mysql php7.4-xml php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-intl php7.4-bcmath php7.4-bz2 php7.4-zip php7.4-zip php7.4-json php7.4-redis

- 阅读剩余部分 -

数组内任一两位数字组合成不重复的数组
var arr = []int{14, 13, 12, 11, 9, 8, 6, 4, 2}
[14,13]和[13,14]就算重复

package main

import (
    "fmt"
)

func main() {
    s := make([]int, 2)
    var arr = []int{14, 13, 12, 11, 9, 8, 6, 4, 2}

    for i := 1; i < len(arr); i++ {
        s[0] = arr[i-1]
        var winArr []int
        winArr = append(winArr, arr[i:]...)

        for j := 0; j < len(winArr); j++ {
            s[1] = winArr[j]
            fmt.Println(s)
        }
    }
}

多个数的排列组合, 数字可以重复, 001, 002, 003这种

package main

import (
    "fmt"
)

func main() {
    var (
        arr = []int{1, 2, 3}
        brr = make([]int, len(arr))
        crr [][]int
    )
    getBrr(&crr, arr, brr, len(brr))
    fmt.Println(crr)
}

func getBrr(crr *[][]int, arr, brr []int, lineNum int) {
    if lineNum < 1 {
        slice := make([]int, len(arr))
        copy(slice, brr)
        *crr = append(*crr, slice)
        return
    }
    lineNum--
    for j := 0; j < len(arr); j++ {
        brr[lineNum] = arr[j]
        getBrr(crr, arr, brr, lineNum)
    }
}

使用了递归+copy, 有没有效率更高的方法