首页 > 编程语言 >Golang-常用算法

Golang-常用算法

时间:2022-09-27 20:46:07浏览次数:51  
标签:pre high 常用 ListNode cur sort Golang 算法 append

快速排序

func QuickSort(sort []int) []int {
	if len(sort) <= 1 {
		return sort
	}
	low := make([]int, 0, 0)
	mid := make([]int, 0, 0)
	high := make([]int, 0, 0)
	tag := sort[0]
	mid = append(mid, tag)
	for i := 1; i < len(sort); i++ {
		if sort[i] < tag {
			low = append(low, sort[i])
		} else if sort[i] > tag {
			high = append(high, sort[i])
		} else {
			mid = append(mid, sort[i])
		}
	}
	low, high = QuickSort(low), QuickSort(high)
	return append(append(low, mid...), high...)
}

反转字符串包含数字中英文

func ReveverString(strs string) string {
	s := []rune(strs)
	for i, j := 0, len(s)-1; i < j; i, j = i+1, j-1 {
		s[i], s[j] = s[j], s[i]
	}
	return string(s)
}

反转链表

type ListNode struct {
	Val  int
	Next *ListNode
}

func ReverseList(head *ListNode) *ListNode {
	cur := head
	var pre *ListNode = nil
	for cur != nil {
		pre, cur, cur.Next = cur, cur.Next, pre
	}
	return pre
}

标签:pre,high,常用,ListNode,cur,sort,Golang,算法,append
From: https://www.cnblogs.com/9men/p/16735906.html

相关文章

  • 【Golang】PHP转Go强大的工具库
    PHP的朋友应该会被PHP中两大特性折服:1、强大的array,一切皆Array;2、强大的函数库,函数类型非常丰富。一、简单示例1、例如:md5函数Go版本写法:packagemainimport......
  • python中常用的转义字符
    """python的转义字符1.\n换行2.\t制表符补齐四个占位3.\r覆盖4.\b删除"""print('我是\n梨花')print('我是\t梨花')print('我是\r梨花')print(......
  • AcWing 算法提高课 线段树+扫描线法 求矩形之并的面积
    例题:求解多个长方形之并的面积https://www.acwing.com/problem/content/249/蓝色表示长方形,红色表示扫描线如下图所示,对于每一个横向的区间,在纵向维护线段树根据纵向......
  • 【Golang】关于Golang中一些优秀的类库
    一、CLI命令(spf13/cobra)GitHub地址:https://github.com/spf13/cobra Cobra既是一个创建强大的现代CLI应用程序的库,也是一个生成应用程序和命令的程序。可以使用这个......
  • 【测试技术】git常用命令
    一、版本库常用命令初始化某目录为git项目。(默认为master分支)gitinit从远程clone一个项目 gitclone<http://abc.com/scm/abc/def.git>查看当前分支状态git......
  • 前端加密算法之CBC-AES
    1、简介CBC模式的AES加密相比较于ECB模式,多了一个偏移量,所以安全性要比ECB模式高2、核心加密js注:和前篇ECB模式一样这里都是直接采用调用js的方式实现了加密,当......
  • 暴力匹配算法、KMP算法
    应用实例暴力匹配算法代码实现publicclassViolenceMatch{ publicstaticvoidmain(String[]args){ //测试暴力匹配算法 Stringstr1="硅硅谷......
  • ABAP-常用BAPI
    MM模块MM01、MM02         BAPI_MATERIAL_SAVEDATA创建物料主数据BAPI_MATERIAL_SAVEREPLICA物料视图的扩充BAPI_GOODSMVT_CREATE创建物料凭证GOODSMVT......
  • 常用的read命令
    记录一下。几个简单参数介绍read-p:显示提示信息read-s:静默模式(Silentmode),不会在屏幕上显示输入的字符。当输入密码和其它确认信息的时候,这是很有必要的。read-t......
  • MD5 加密算法 All In One
    MD5加密算法AllInOneMD5算法是Hash算法的一种,叫做讯息摘要算法Message-DigestAlgorithm/消息摘要算法https://zh.wikipedia.org/wiki/MD5https://en.wikipe......