栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

GO的第四天二叉树和连接数据库

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

GO的第四天二叉树和连接数据库

type TreeNode struct {
      Val int
      Left *TreeNode
      Right *TreeNode
 }

func isBalanced(root *TreeNode) bool {
   return chs(root)!=-1
}

func chs(root *TreeNode)int  {
   if root==nil{
      return 0
   }

   l:=chs(root.Left)
   if -1 == l {
      return l
   }

   r:=chs(root.Right)
   if -1 == r {
      return r
   }
   if math.Abs(float64(l)-float64(r))<2{
      return -1
   }
   return int(1 + math.Max(float64(l), float64(r)))
}

在力扣上一直报错然后发现右树放了左树的值检查不仔细。

===============

连接数据库

import (
   "database/sql"
   "fmt"
   "strconv"
   "time"
)

var db=&sql.DB{}

func init()  {
  //Oracle的
  db, err := sql.Open("oci8", "scott(账号)/tiger(密码)@(ip:端口)/库名")
  //Msql的
  db,_ = sql.Open("mysql", "root():root(密码)@(地址)/test(库名)?charset=utf8")
}

func main() {
   xt, err :=db.Begin()
   fmt.Println("",db,err,xt)
   //insert
   start := time.Now()
   //Begin函数内部会去获取连接
   tx,_ := db.Begin()
   for i := 1301;i<=1400;i++{
      //每次循环用的都是tx内部的连接,没有新建连接,效率高
      tx.Exec("INSERT INTO user(uid,username,age) values(?,?,?)",i,"user"+strconv.Itoa(i),i-1000)
   }
   //最后释放tx内部的连接
   tx.Commit()

   end := time.Now()
   fmt.Println("insert total time:",end.Sub(start).Seconds())
}

===========================

前天的切片今天去重新看了一遍并练习已理解

slice := []int{10, 20, 30, 40, 50}
newSlice := slice[2:3]//截取的是30,下标从零开始数,数到2然后不能大于3
fmt.Printf("========%d+++++%dn",slice,newSlice)
//输出结果为:========[10 20 30 40 50]+++++[30]
d:= []int{2}
d=append(d, slice[len(slice)-1])//这样就是在d的后面追加slice长度-1的下标下的值50
fmt.Printf("********%d",d)
//输出结果为:********[2 50]
*d = (*a)[:len(*a)-1]
这个就是在a切片截取它的长度减一的值。
      
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/944400.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号