Category: 计算机

golang中可以使用Buffered channel作为信号量来对服务的并发访问作吞吐量限制。 如下代码中,Serve函数遍历请求队列,对每次请求,启动一个goroutine来进行handle,sem的缓冲大小限制了同时调用handle函数的数量,Serve函数虽可保障每一刻最多有MaxOutstanding个gor 阅读全文

以常规方式编写并发程序,需要对共享变量作正确的访问控制,处理起来很困难。而golang提出一种不同的方式,即共享变量通过channel传递,共享变量从不被各个独立运行的线程(goroutine)同时享有,在任一时刻,共享变量仅可被一个goroutine访问。所以,不会产生数据竞争。并发编程,golang鼓励以此种方式进 阅读全文

1 题目描述 给定一个m x n矩阵,若一个元素为0,将其所在行与列全部元素置为0,请使用原地计算。 例子1: 输入: [ [1,1,1], [1,0,1], [1,1,1] ] 输出: [ [1,0,1], [0,0,0], [1,0,1] ] 例子2: 输入: [ [0,1,2,0], [3,4,5,2], [1, 阅读全文

1 题目描述 给定字符串,以Z字形显示。如”PAYPALISHIRING”以给定行数为3的Z字形显示为: 题目出处: https://leetcode.com/problems/zigzag-conversion/ 2 解决思路 如下图所示: 阅读全文

1 题目描述 给定一个正整数n,生成一个由1到n^2元素以螺旋顺序填充的n x n矩阵。 例子: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, 5 ] ] 题目出处: https://leetcode.com/problems/spiral-matrix-ii/ 2 解决思 阅读全文

1 题目描述 两个整数之间的汉明距离是指两数的二进制数中各对应比特位不同的个数。现给定一组整数,计算该组整数中所有两数组合的汉明距离总和。 例子: 输入: 4, 14, 2 输出: 6 释义: 4的二进制是0100,14的二进制是1110,2的二进制是0010(该例子仅展示出4个比特位),所以按题目要求,答案是Hamm 阅读全文

1 4 5 6 7 8 10