牛客网编程题
TANGYRun
学习是一种习惯和坚持,越努力越幸运
展开
-
剑指offer-连续子数组的最大和
题目描述:例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的和。class Solution {public: int FindGreatestSumOfSubArray(vector<int> array){ if(array.size() == 0) ...原创 2020-02-01 22:26:24 · 187 阅读 · 0 评论 -
剑指offer-二进制中1的个数
题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。这里可以提供三种思路:思路一:先判断整数二进制表示中最右边以为是不是1。接着把输入的整数右移一位,此时原来处于从右边暑期的第二位被移到最有边了,再判断是不是1,这样每次移动一位,直到整个整数变为0为止。现在的问题变成了怎么判断一个整数的最右边是不是1,方法是只要把整数和1做与运算看结果是不是0就知道了。1除了最...原创 2019-12-20 22:45:39 · 125 阅读 · 0 评论 -
剑指offer-矩形覆盖
题目描述:我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?思路:我们可以让n先从0开始,当n==0时,显然返回0,;当n==1时,有两种方式,即可以是横着放的一行两列的矩形,也可是竖着放的两行一列的矩形;当n==2时,有两种方式,即两个横着的一行两列的矩形,或是两个竖着的两行一列的矩形;当n==3时,有三种...原创 2019-12-20 21:30:35 · 115 阅读 · 0 评论 -
字符串的替换【骆驼命名法】(小写转大写)以及字符串倒序排序【单词倒排】
从C/C++转到Java的程序员,一开始最不习惯的就是变量命名方式的改变。C语言风格使用下划线分隔多个单词,例如“hello_world”;而Java则采用一种叫骆驼命名法的规则:除首个单词以外,所有单词的首字母大写,例如“helloWorld”。请你帮可怜的程序员们自动转换变量名。输入hello_worldnice_to_meet_you输出helloWorldnic...原创 2019-07-16 22:04:48 · 662 阅读 · 0 评论 -
不使用加减乘除做加法
题目描述: 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。解题思路:对于十进制加法,两数相加,首先是个位数相加,若相加结果小于10,就不用进位,直接得出结果;若相加结果大于等于10,结果就需要向前进一。例如:num1=2,num2=3...原创 2019-07-06 16:06:22 · 236 阅读 · 0 评论 -
奇数位上都是奇数或者偶数位上都是偶数
题目描述:给定一个长度不小于2的数组arr。 写一个函数调整arr,使arr中要么所有的偶数位上都是偶数,要么所有的奇数位上都是奇数上。 要求:如果数组长度为N,时间复杂度请达到O(N),额外空间复杂度请达到O(1),下标0,2,4,6...算作偶数位,下标1,3,5,7...算作奇数位,例如[1,2,3,4]调整为[2,1,4,3]即可。思路:我们可以每次都与数组的最后一个元素进行比较,如...原创 2019-07-06 15:47:05 · 1211 阅读 · 0 评论 -
最难的问题(密文转原文)
题目描述:NowCoder首次发明了密码,用于军队的消息传递。假设你是军团中的一名军官,需要把发送来的消息破译出来、并提供给你的将军。消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第5个字母替换(例如:消息原文中的每个字母A 都分别替换成字母F),其他字符不 变,并且消息原文的所有字母都是大写的。密码中的字母与原文中的字母对应关系如下。密码字母:A B C D E F G H I...原创 2020-01-20 22:09:44 · 578 阅读 · 0 评论 -
分解因数
题目描述:所谓因子分解,就是把给定的正整数a,分解成若干个素数的乘积,即 a = a1 × a2 × a3 × ... × an,并且 1 < a1 ≤ a2 ≤ a3 ≤ ... ≤ an。其中a1、a2、...、an均为素数。 先给出一个整数a,请输出分解后的因子。输入描述:输入包含多组数据,每组数据包含一个正整数a(2≤a≤1000000)。输出描述:对应每组...原创 2019-07-09 16:08:45 · 4134 阅读 · 0 评论 -
迷宫问题
题目描述:定义一个二维数组N*M(其中2<=N<=10;2<=M<=10),如5×5数组下所示:intmaze[5][5]={0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,0,...转载 2019-06-24 20:55:46 · 250 阅读 · 0 评论 -
年终奖
题目描述:小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,一路上的格子里的礼物小东都能拿到,请设计一个算法使小东拿到价值最高的礼物。给定一个6*6的矩阵board,其中每个元素为对应格子的礼物价...原创 2019-06-24 20:50:16 · 99 阅读 · 0 评论 -
有假币
题目描述:居然有假币! 现在猪肉涨了,但是农民的工资却不见涨啊,没钱怎么买猪肉啊。nowcoder这就去买猪肉,结果找来的零钱中有假币!!!可惜nowcoder 一不小心把它混进了一堆真币里面去了。只知道假币的重量比真币的质量要轻,给你一个天平(天平两端能容纳无限个硬币),请用最快的时间把那个可恶的假币找出来。输入描述:1≤n≤2^30,输入0结束程序。输出描述:最多要称几...原创 2019-07-07 17:53:30 · 228 阅读 · 0 评论 -
青蛙跳台阶问题
青蛙跳台阶:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。青蛙一次可以跳一阶,也可以跳两阶,所以:当台阶数为1时,有一种跳法,即f(1) = 1;;当台阶数为2时,有两种跳法,即f(2) = 2;当台阶数为3时,有三种跳法,即f(3) = 3 = f(1) + f(2);...当台阶数为n时f(n)...原创 2019-04-28 17:09:27 · 185 阅读 · 0 评论 -
微信红包
春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。给定一个红包的金额数组gifts及它的大小n,请返回所求红包的金额。若没有金额超过总数的一半,返回0。测试样例:[1,2,3,2,2],5返回:2解题思路:1.如果gifts为空,...原创 2019-04-28 16:10:15 · 125 阅读 · 0 评论 -
字符串替换
请你实现一个简单的字符串替换函数。原串中需要替换的占位符为"%s",请按照参数列表的顺序一一替换占位符。若参数列表的字符数大于占位符个数。则将剩下的参数字符添加到字符串的结尾。给定一个字符串A,同时给定它的长度n及参数字符数组arg,请返回替换后的字符串。保证参数个数大于等于占位符个数。保证原串由大小写英文字母组成,同时长度小于等于500。测试样例:"A%sC%sE",7,['B',...原创 2019-04-28 15:56:02 · 2200 阅读 · 0 评论