This commit is contained in:
suyl
2021-08-30 16:06:01 +08:00
parent 83b157d1fb
commit e895a25b98
12 changed files with 203 additions and 16 deletions

View File

@@ -741,7 +741,13 @@ func (a *API) SubmitBasic(updateBasicParam *UpdateBasicParam) (vendorStoreID int
"requestId": reqID,
}, true)
if err == nil {
vendorStoreID = utils.MustInterface2Int64(result["data"])
if result != nil {
if result["data"] != nil{
vendorStoreID = utils.MustInterface2Int64(result["data"])
}else{
err = fmt.Errorf("err %s", result["msg"])
}
}
}
return vendorStoreID, err
}

View File

@@ -226,9 +226,168 @@ func TestUpdateDeliveryPromise(t *testing.T) {
}
func TestUploadImageNew(t *testing.T) {
bkey, _ := base64.StdEncoding.DecodeString("EjTgnEa377fEcgzlQUbcgTzxPNznRjpOuSPgQAwv9aA" + "=")
block, _ := aes.NewCipher(bkey)
fmt.Println(bkey, block)
//dp[m][n] = dp[m-1][n] + dp[m][n-1]
fmt.Println(myAtoi("21A"))
}
func myAtoi(s string) (r int) {
abs, sign, i, n := 0, 1, 0, len(s)
for i < n && s[i] == ' ' {
i++
}
if i < n {
if s[i] == '-' {
sign = -1
i++
} else if s[i] == '+' {
sign = 1
i++
}
}
for i < n && s[i] >= '0' && s[i] <= '9' {
abs = 10*abs + int(s[i]-'0') //字节 byte '0' == 48
if sign*abs < math.MinInt32 { //整数超过 32 位有符号整数范围
return math.MinInt32
} else if sign*abs > math.MaxInt32 {
return math.MaxInt32
}
i++
}
return r
}
func minCostClimbingStairs(cost []int) int {
min := func(a, b int) int {
if a < b {
return a
}
return b
}
var dp = make([]int, len(cost))
dp[0] = 0
dp[1] = 0
for i := 2; i < len(cost); i++ {
dp[i] = min(dp[i-1]+cost[i], dp[i-2]+cost[i-1])
}
return dp[len(cost)]
}
func climbStairs(n int) int {
a, b, c := 0, 0, 1
for i := 1; i < n+1; i++ {
a = b
b = c
c = a + b
}
return c
}
//leetcode 1876
func countGoodSubstrings(s string) int {
if len(s) < 3 {
return 0
}
count := 0
a, b, c := s[0:1], s[1:2], s[2:3]
for i := 3; i < len(s)+1; i++ {
if a != b && b != c && a != c {
count++
}
if i == len(s) {
break
}
a = b
b = c
c = s[i : i+1]
}
return count
}
//T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2
func tribonacci(n int) int {
if n == 0 || n == 1 {
return n
}
if n == 2 {
return 1
}
var tris = make([]int, n+1)
tris[0] = 0
tris[1] = 1
tris[2] = 1
for i := 3; i < n+1; i++ {
tris[i] = tris[i-1] + tris[i-2] + tris[i-3]
}
return tris[n]
}
func fib(n int) (result int) {
//if n == 0 || n == 1 {
// return n
//}
//var fibs = make([]int, n+1)
//fibs[0] = 0
//fibs[1] = 1
//for i := 2; i < n+1; i++ {
// fibs[i] = fibs[i-1] + fibs[i-2]
//}
//return fibs[n]
if n == 0 || n == 1 {
return n
}
a, b, c := 0, 0, 1
for i := 2; i < n+1; i++ {
a = b
b = c
c = a + b
}
return c
}
//经典dp
func dp2(m, n int) (result int) {
var dp = make([][]int, m)
for i := 0; i < m; i++ {
dp[i] = make([]int, n)
for j := 0; j < n; j++ {
if i == 0 || j == 0 {
dp[i][j] = 1
} else {
dp[i][j] = dp[i-1][j] + dp[i][j-1]
}
}
}
return dp[m-1][n-1]
}
func a(n int) (ans int) {
const mod int = 1e9 + 7
dp := make([][2][3]int, n+1) // 三个维度分别表示长度A 的数量,结尾连续 L 的数量
dp[0][0][0] = 1
for i := 1; i <= n; i++ {
// 以 P 结尾的数量
for j := 0; j <= 1; j++ {
for k := 0; k <= 2; k++ {
dp[i][j][0] = (dp[i][j][0] + dp[i-1][j][k]) % mod
}
}
// 以 A 结尾的数量
for k := 0; k <= 2; k++ {
dp[i][1][0] = (dp[i][1][0] + dp[i-1][0][k]) % mod
}
// 以 L 结尾的数量
for j := 0; j <= 1; j++ {
for k := 1; k <= 2; k++ {
dp[i][j][k] = (dp[i][j][k] + dp[i-1][j][k-1]) % mod
}
}
}
for j := 0; j <= 1; j++ {
for k := 0; k <= 2; k++ {
ans = (ans + dp[n][j][k]) % mod
}
}
return ans
}
func checkRecord(s string) bool {