75. 颜色分类 golang

https://leetcode-cn.com/problems/sort-colors/solution/75-yan-se-fen-lei-golang-by-hodgekou/

Me


func sortColors(nums []int)  {sort.Ints(nums)
}

tips


package mainimport ("fmt""sort"
)//定义interface{},并实现sort.Interface接口的三个方法
type IntSlice []intfunc (c IntSlice) Len() int {return len(c)
}
func (c IntSlice) Swap(i, j int) {c[i], c[j] = c[j], c[i]
}
func (c IntSlice) Less(i, j int) bool {return c[i] < c[j]
}
func main() {a := IntSlice{1, 3, 5, 7, 2}b := []float64{1.1, 2.3, 5.3, 3.4}c := []int{1, 3, 5, 4, 2}fmt.Println(sort.IsSorted(a)) //falseif !sort.IsSorted(a) {sort.Sort(a) }if !sort.Float64sAreSorted(b) {sort.Float64s(b)}if !sort.IntsAreSorted(c) {sort.Ints(c)}fmt.Println(a)//[1 2 3 5 7]fmt.Println(b)//[1.1 2.3 3.4 5.3]fmt.Println(c)// [1 2 3 4 5]
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/382304.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux网络编程之TCP三次握手和四次挥手

1.在TCP连接的过程中&#xff0c;有三个阶段&#xff0c;分别是建立连接&#xff0c;传递数据和断开连接&#xff0c;通讯时序图如下所示: 2.结合TCP数据报格式分析建立连接的三次握手 1&#xff09;首先客户端发送一个带有SYN标志的TCP报文给服务器端&#xff0c;询问服务器端…

451. 根据字符出现频率排序golang

官解 func frequencySort(s string) string {charMap : make(map[rune]int)arr : make([]string, len(s))for _,c : range s {charMap[c]}for k,v : range charMap {arr[v - 1] strings.Repeat(string(k), v)}r : ""for _,c : range arr {r c r}return r }自定义排…

linux网路编程之多进程并发服务器

1&#xff09;使用多进程并发服务器考虑的因素&#xff1a; &#xff08;1&#xff09;父进程描述最大文件描述符的个数&#xff08;父进程需要关闭accept返回的新文件描述符&#xff09; &#xff08;2&#xff09;系统内可创建进程的个数&#xff08;与内存大小相关&#xff…

69. x 的平方根 golang

Me https://leetcode-cn.com/problems/sqrtx/submissions/ func mySqrt(x int) int {return int(math.Sqrt(float64(x))) }

linux网路编程之多线程并发服务器

1&#xff09;在使用进程模型开发服务器过程中考虑以下问题 &#xff08;1&#xff09;调整进程内最大文件描述符上限 &#xff08;2&#xff09;线程如有共享&#xff0c;考虑线程同步 &#xff08;3&#xff09;客户端线程退出时&#xff0c;做退出处理&#xff08;线程分离&…

744. 寻找比目标字母大的最小字母 golang

官解 func nextGreatestLetter(letters []byte, target byte) byte {idx : 0for i : 0; i < len(letters); i {if letters[i] > target {idx ibreak}}return letters[idx] }Me 这个题答得很差劲&#xff0c;可能有点累 func nextGreatestLetter(letters []byte, target…

linux网路编程之TCP状态转换及端口复用

&#xff08;1&#xff09;TCP状态转换图 其中图中分为三种状态&#xff1a;实线代表的主动发起连接&#xff0c;虚线代表的被动发起连接&#xff0c;细实线代表的可以双向发起连接的状态。 主动发起连接方状态变化&#xff1a;1&#xff09;主动发起连接的一方发送SYN标志位&…

153. 寻找旋转排序数组中的最小值 golang

153. 寻找旋转排序数组中的最小值 golang Me func findMin(nums []int) int {if len(nums) < 2 {return nums[0]}i, j : 0, 1for j < len(nums) {if nums[i] < nums[j] {ij} else {return nums[j]}}return nums[0] }

linux网络编程之多路I/o转接服务器select

(1)多路IO转接服务器也叫做多任务IO服务器&#xff0c;其主要思想是不再由程序自己监听客户端连接&#xff0c;取而代之的是由内核替应用程序监视文件&#xff0c;具体实现模型如图所示&#xff1a; 当客户端请求和服务器连接时&#xff0c;内核接收到连接指令&#xff0c;告诉…

linux网络编程之多路I/O转接服务器poll函数

&#xff08;1&#xff09;poll函数 头文件&#xff1a;#include<poll.h> int poll(struct pollfd*fds, nfds_t nfds,int timeout); struct pollffd{ int fd;//文件描述符 short events;//监控的事件 short revents;//监控事件中满足条件返回的事情 }&#xff1…

540. 有序数组中的单一元素 golang

540. 有序数组中的单一元素 golang func singleNonDuplicate(nums []int) int {if len(nums) < 1 {return nums[0]}i : 0for i < len(nums) - 1 {if nums[i] ! nums[i1] {return nums[i]} else {i2}}return nums[i] }

C/C++构造及析构顺序及变量的生命周期

&#xff08;1&#xff09;变量的构造及析构顺序 1&#xff09;在全局范围内定义的对象&#xff08;即在所有函数之外定义的对象&#xff09;&#xff0c;它的构造函数在文件中的所有函数&#xff08;包括main函数&#xff09;执行之前调用。如果一个程序中有多个文件&#xff…

34. 在排序数组中查找元素的第一个和最后一个位置 golang

34. 在排序数组中查找元素的第一个和最后一个位置 https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/submissions/ Me func searchRange(nums []int, target int) []int {result : make([]int, 2)result[0] -1result[1] -1for …

C/C++继承与派生

&#xff08;1&#xff09;派生类的访问属性 1&#xff09;public继承&#xff1a;派生类中&#xff1a;可以访问基类的public和protect变量&#xff0c;不可以访问基类的private变量 派生类外&#xff1a;可以访问基类的public变量&#xff0c;不能访问基类的private变量 2&am…

C/C++之string类小结

&#xff08;1&#xff09;C字符串和C字符串的转换 C提供了三种方法可以将C字符串转化为C字符串&#xff0c;分别是data(),c_str(),copy()成员函数来实现。 1&#xff09;data()是以字符数组的形式返回字符串内容&#xff0c;但并不添加‘\0’&#xff1b; 2&#xff09;c_str(…

2.两数相加 golang

测试用例1500多个&#xff0c;考虑的情况非常多 测试用例 [0] [1] [2] [3,4,2] [5,0] [2] [1] [0] [9,8] [0] [4,6,5] [5,0] [1] [9] [0] [0,9] [2] [8,0,7] [0,1] [3] [0,1]func addTwoNumbers(l1 *ListNode, l2 *ListNode) *ListNode {result : &List…

C/C++之vector的内存管理和效率

(1)vector容器支持随机访问&#xff0c;其内部是通过动态数组实现的&#xff1b; (2)当vector执行insert或者push_back时&#xff0c;如果此时动态数组的内存不够用&#xff0c;则会重新分配当前大小的1.5~2倍的新内存区&#xff0c;把原来数组的内容复制过去&#xff1b; (3)为…

汇顶软件开发初面总结20180921

博客参考&#xff1a;C中的多态和内部实现&#xff1a;https://www.cnblogs.com/qiaoconglovelife/p/5128523.html 虚函数表存放的地址&#xff1a;https://blog.csdn.net/jiary5201314/article/details/52627630 为什么STL和linux都采用红黑树作为平衡树的实现&#xff1a;htt…

LeetCode 21. 合并两个有序链表 golang

递归 func mergeTwoLists(l1 *ListNode, l2 *ListNode) *ListNode {if nil l1 {return l2}if nil l2 {return l1}if l1.Val < l2.Val {l1.Next mergeTwoLists(l1.Next, l2)return l1} else {l2.Next mergeTwoLists(l1, l2.Next)return l2} }Me(存在问题)非递归版本实现…

深信服C/C++技术一面二面20180924

技术一面&#xff1a;主要是一些关于数据结构和C/C相关的内容 1)链表和数组的相同点和不同点&#xff1b; 2&#xff09;了解静态链表吗&#xff1f;怎么用数组实现静态链表&#xff1f; 3&#xff09;使用库函数strcpy应该注意的问题有哪些&#xff1f; 4&#xff09;链表…