随笔分类 -  golang

摘要:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 题目讲究的是连续,那我们可以假设一下,我们现在以下标为0的值为基准值,那么下一位就分为两种情况了: 下一位为负数,那么我们就要与基准值比较,看哪个大 下一位为正数,那么我们肯定是要相加了 整体代码 阅读全文
posted @ 2018-11-23 21:17 timliudream 阅读(583) 评论(0) 推荐(0)
摘要:报数序列是一个整数序列,按照其中的整数的顺序进行报数,得到下一个数。其前五项如下: 1 被读作 "one 1" ("一个一") , 即 11。 11 被读作 "two 1s" ("两个一"), 即 21。 21 被读作 "one 2", "one 1" ("一个二" , "一个一") , 即 121 阅读全文
posted @ 2018-11-22 20:45 timliudream 阅读(363) 评论(0) 推荐(0)
摘要:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 这道题非常的简单,我们直接看代码就好了 阅读全文
posted @ 2018-11-22 19:19 timliudream 阅读(584) 评论(0) 推荐(0)
摘要:实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。 对于 阅读全文
posted @ 2018-11-21 22:11 timliudream 阅读(1067) 评论(0) 推荐(0)
摘要:给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 其实这道题很简单,只要一个索引就行 阅读全文
posted @ 2018-11-21 21:22 timliudream 阅读(3465) 评论(0) 推荐(0)
摘要:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 首先理解题意: 那我们就可以用快慢指针的思想来解答这道题了 阅读全文
posted @ 2018-11-20 21:44 timliudream 阅读(2466) 评论(0) 推荐(0)
摘要:给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 那我们就可以想象有一个容器,一直把字符串的每个字符塞进去,当成对出现的时候就去除,当容器内没有任何元素了,那就说明字符串是有效的括号组合,否则不是 这里有个小技巧,就是每次我们放进容器 阅读全文
posted @ 2018-11-18 20:09 timliudream 阅读(1699) 评论(0) 推荐(0)
摘要:编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 首先理解题意: 当源字符串数组中一个元素也没有,那肯定是返回空字符串了 slen := len(strs) //特殊情况,当切片中没有任何元素的时候返回"" if slen==0{ return "" } 而最 阅读全文
posted @ 2018-11-17 20:37 timliudream 阅读(1088) 评论(0) 推荐(0)
摘要:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。 通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 阅读全文
posted @ 2018-11-16 22:23 timliudream 阅读(1002) 评论(0) 推荐(0)
摘要:首先分析题意,只要正序读与反序读时一样的,那就是回文数,那么负数就可以排除掉。 首先我们能想到的就是把整数转成字符串,然后比较字符串的第一位与最后一位、第二位与倒数第二位。。。以此类推,只要有不一样的就返回false 当然我们也可以不转成字符串来比较,那就有点麻烦,我们要借助一些容器,比如slice 阅读全文
posted @ 2018-11-15 22:13 timliudream 阅读(779) 评论(0) 推荐(0)
摘要:反射reflection 可以大大提高程序的灵活性,使得interface{}有更大的发挥余地 反射可以使用TypeOf和ValueOf函数从接口中获取目标对象信息 反射会将匿名字段作为独立字段(匿名字段的本质) 想要利用反射修改对象状态,前提是interface.data是settable,即po 阅读全文
posted @ 2018-11-14 22:12 timliudream 阅读(469) 评论(0) 推荐(0)
摘要:golang程序在centos运行起来了,但是远程访问不到,阿里云的端口是开了的,并且telnet不了。 telnet不通一般有三个可能的原因: 首先看下图发现服务是开启的。所以1排除 再来看2,查看防火墙是否开启 因为之前就已经在阿里云的管理平台上已经开启了8081端口,所以步骤3是没有必要去看的 阅读全文
posted @ 2018-11-14 21:23 timliudream 阅读(591) 评论(0) 推荐(0)
摘要:问题:反转一个单链表。 首先先认识一下链表这个数据结构: 链表节点中有两个元素: 值 指针 Next指向下一个节点 那么这道题其实就是把指针指向前一个节点 可以看出来 pre是cur的最前面那位(pre = cur) cur就是当前位的后面链表元素(cur = cur.Next) cur.Next肯 阅读全文
posted @ 2018-11-08 22:30 timliudream 阅读(7134) 评论(0) 推荐(0)
摘要:init 函数可在package main中,可在其他package中,可在同一个package中出现多次。 main函数 main 函数只能在package main中。 执行顺序 golang里面有两个保留的函数:init函数(能够应用于所有的package)和main函数(只能应用于packa 阅读全文
posted @ 2018-11-08 16:34 timliudream 阅读(4966) 评论(0) 推荐(2)
摘要:golang的定时任务使用的是cron这个包来解决的 官方文档地址:https://godoc.org/github.com/robfig/cron 注: 特殊字符说明 星号(*) 表示 cron 表达式能匹配该字段的所有值。如在第5个字段使用星号(month),表示每个月 斜线(/) 表示增长间隔 阅读全文
posted @ 2018-11-06 21:14 timliudream 阅读(1506) 评论(0) 推荐(0)
摘要:首先看一段代码: 请问A跟B哪个是对的,哪个是错的,为什么? 当需要序列化类的时候,字段必须是可导出的,而golang语言规范中,可导出就意味着是首字母大写,所以这里的字段需要大写,即使写了标记的小写还是不能序列化的。 阅读全文
posted @ 2018-11-06 18:41 timliudream 阅读(469) 评论(0) 推荐(0)
摘要:有一个集合由A-Z这26个字母组成,打印这个集合的所有子集,每个子集一行,写C代码实现,不能使用递归 假设只有三个字母ABC,那么子集有: 把ABC看作三个比特位,分别为: 具体代码: 这里需要注意一点的就是,golang使用位运算的时候,使用的基础数据类型是uint 阅读全文
posted @ 2018-11-05 22:42 timliudream 阅读(972) 评论(0) 推荐(0)
摘要:slice(切片):底层数据结构是数组 stack(栈):一种先进后出的数据结构 输出: 使用goroutine异步读取或者写入的时一定要注意通道的写法,很容易造成死锁 阅读全文
posted @ 2018-11-03 22:57 timliudream 阅读(2036) 评论(0) 推荐(0)
摘要:问题描述: 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少 分析: 这道题我们可以把兔子分为三个阶段,幼崽、成年,生育 幼崽:出生的第一个月 成年:出生的第二个月 生育:出生的第三个月 从这个表格看出来,这道题是斐波 阅读全文
posted @ 2018-11-03 21:02 timliudream 阅读(1122) 评论(0) 推荐(0)
摘要:map是无序的,每次打印出来的map都会不一样,它不能通过index获取,而必须通过key获取 map的长度是不固定的,也就是和slice一样,也是一种引用类型 内置的len函数同样适用于map,返回map拥有的key的数量 map的值可以很方便的修改,通过numbers["one"]=11可以很容 阅读全文
posted @ 2018-11-02 20:07 timliudream 阅读(478) 评论(0) 推荐(0)