
牛客网编程
文章平均质量分 80
nanchengyu
这个作者很懒,什么都没留下…
展开
-
牛客网编程题1
1输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。思路:本题最初想简单的求模算出等于1的位数,但是发现负数不行。其实简单的做法应该是与1相与,如果为1,则原来为1,循环移位判断。但注意,要左移,要是右移,对于负数会一直在高位补1,导致结果不准确。class Solution {public: int NumberOf1(int n) {原创 2016-10-23 20:55:21 · 859 阅读 · 0 评论 -
牛客网编程3
1在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P%1000000007 输入描述:题目保证输入的数组中没有的相同的数字数据范围:对于%50的数据,size对于%75的数据,size对于%100的数据,size解析:本题主要是时间复原创 2016-11-07 19:18:18 · 360 阅读 · 0 评论 -
牛客网编程2
1输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)解析:本题思路为:将入栈序列逐个加入,如果加入的等于出栈的,就将其加入后弹出,妙。原创 2016-10-28 20:53:19 · 318 阅读 · 0 评论 -
求一个二进制串mod 3的余数
求一个二进制串mod 3的余数 这是某BAT公司技术面三面的一道代码题目,没做出来,现在整理一波 首先,第一个思路是将这个二进制串转换为十进制,然后再进行计算,但是这个肯定不是面试官想要的答案,对于很长的二进制串不能转换为十进制数字。 下面讲第二个思路,状态机(其实可用于求mod任何数的情况) 整个状态机分为三个状态,0,1,2,分别代...原创 2019-04-22 13:23:52 · 2011 阅读 · 0 评论