![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
CQUPT-Wan
练习NLP两年半的云顶江流儿( ゜- ゜)つロ
GitBlog:https://cqupt-wan.github.io/
语雀:https://www.yuque.com/cqupt_wan
展开
-
牛客网剑指offer编程实践11-20题
11、二进制中1的个数 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 解答: 方法: 如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。其余所有位将不会受到影响。 举个例子:一个二进制数1100,从右边数起第三位是处于最右边的一个1。减去1后,...原创 2019-05-24 16:58:25 · 114 阅读 · 0 评论 -
牛客网剑指offer编程实践21-30题
21、栈的压入、弹出序列 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的) 解答: # 【思路】借用一个辅助的栈,遍历压栈顺序,先讲第一个放...原创 2019-05-24 19:43:34 · 202 阅读 · 0 评论 -
牛客网剑指offer编程实践31-40题
31、 整数中1出现的次数(从1到n整数中1出现的次数) 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。 解答: 方法: 设...原创 2019-05-24 20:20:44 · 145 阅读 · 0 评论 -
牛客网剑指offer编程实践41-50题
41、和为S的连续正数序列 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck! 解答: 方法1:动态...原创 2019-05-27 10:38:36 · 153 阅读 · 0 评论 -
牛客网剑指offer编程实践51-66题
51、 构建乘积数组 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]A[1]...A[i-1]A[i+1]...A[n-1]。不能使用除法。 解答: 方法: B[i]**的值可以看作下图的矩阵中每行的乘积。** 下三角用连乘可以很容求得,上三角,从下向上也是连乘。 因此我们的思路就很清晰了,先算下三角中的连乘,即我...原创 2019-05-27 11:11:02 · 213 阅读 · 0 评论 -
牛客网剑指offer编程实践1-10题
牛客网剑指offer编程实践1-10题 1、二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 解答: 方法1:遍历整个二维数组,判断数组中是否含有该整数 方法2:从二维数组的左下角tag开始判断,如果目标整数大于tag,t...原创 2019-05-23 21:27:18 · 115 阅读 · 0 评论