![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
牛客网练习
遇到不会或者更巧妙的解法的题记录加强记忆
可乐yue
愿你熬得过万丈孤独,藏得下星辰大海
展开
-
牛客大整数排序
链接:原题来源:牛客网题目对N个长度最长可达到1000的数进行排序。输入描述:输入第一行为一个整数N,(1<=N<=100)。接下来的N行每行有一个数,数的长度范围为1<=len<=1000。每个数都是一个正数,并且保证不包含前缀零。输出描述:可能有多组测试数据,对于每组数据,将给出的N个数从小到大进行排序,输出排序后的结果,每个数占一行。示例1...原创 2020-03-07 00:23:02 · 202 阅读 · 0 评论 -
牛客奇校验
链接:原题来源:牛客网题目输入一个字符串,然后对每个字符进行奇校验,最后输出校验后的二进制数(如’3’,输出:10110011)。输入描述:输入包括一个字符串,字符串长度不超过100。输出描述:可能有多组测试数据,对于每组数据,对于字符串中的每一个字符,输出按题目进行奇偶校验后的数,每个字符校验的结果占一行。示例1输入33a输出1011001110110011...原创 2020-03-07 00:01:16 · 368 阅读 · 0 评论 -
二进制求和
二进制字符串相加看似简单的一道题花费了我两小时,可能我的方法会很繁琐,但是却是好理解的。因为人怎么算,程序就怎么算的。额听起来很牛逼,其实就是强行算哈哈!原题出处:二进制求和思路:先不管两个字符串的长短,让他们能相加的部分先进行计算,用一个变量 x 记录进位的值。当将短的字符串计算完毕后,再用进位与长字符串剩余的部分的进行计算,整个过程是从尾部到头部的。我们用StringBuffer记...原创 2020-02-04 15:26:02 · 536 阅读 · 0 评论 -
【牛客网练习】二叉树平衡检查
参考:学习自该大佬题目实现一个函数,检查二叉树是否平衡,平衡的定义如下,对于树中的任意一个结点,其两颗子树的高度差不超过1。给定指向树根结点的指针TreeNode* root,请返回一个bool,代表这棵树是否平衡。分析1.求出左子树与右子树的高度差,大于1则false2.如何求?递归求出,如果节点为空那么则深度为0,这同时也是递归出口,若不为空则递归左子树与右子树。注意:最终二叉...转载 2019-12-01 22:00:13 · 162 阅读 · 2 评论 -
【牛客网练习】链表分割
链接:原题出处来源:牛客网[编程题] 链表分割热度指数:43019时间限制:3秒空间限制:32768K算法知识视频讲解编写代码,以给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前给定一个链表的头指针 ListNode* pHead,请返回重新排列后的链表的头指针。注意:分割以后保持原来的数据顺序不变。思路:一看到这道题我就想到了创建两个链表的想法,一个...原创 2019-11-29 01:54:09 · 155 阅读 · 0 评论 -
二叉树的镜像
【牛客】求出二叉树的镜像链接:原题出处来源:牛客网其实我是看了大佬的博客:大佬解说操作给定的二叉树,将其变换为源二叉树的镜像。有两种实现方式:递归:想象一下,加入只有三个结点,根结点,左孩子,右孩子那么就交换左右孩子。出口条件:节点为空或者左右孩子都为空 //递归 public void Mirror(TreeNode root) {...翻译 2019-11-25 16:32:44 · 134 阅读 · 0 评论 -
尼科彻斯定理
链接:原题出处来源:牛客网验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。例如:1^3=12^3=3+53^3=7+9+114^3=13+15+17+19接口说明原型:/*功能: 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。原型:int GetSequeOddNum(int m,char * pcSequeOddNum)...原创 2019-11-23 17:55:45 · 1222 阅读 · 0 评论 -
统计同成绩人数
链接:原题出处来源:牛客网读入N名学生的成绩,将获得某一给定分数的学生人数输出。输入描述:测试输入包含若干测试用例,每个测试用例的格式为第1行:N第2行:N名学生的成绩,相邻两数字用一个空格间隔。第3行:给定分数当读到N=0时输入结束。其中N不超过1000,成绩分数为(包含)0到100之间的一个整数。输出描述:对每个测试用例,将获得给定分数的学生人数输出。示例1输入...原创 2019-11-23 17:26:20 · 246 阅读 · 0 评论 -
不用+号等算数运算符实现加法
转自:不用加减符号实现加减法今天有群友发了一个问题,要求不用加减符号(包括负号)来实现加减法。分析一下先看最简单的情况,假设1+1,按二进制算的话结果是10,可以看到从右往左的第一位变为0,第二位由于进位变为1。第1位的值有4种,0+0=0、1+0=1、0+1=1、1+1=0,这正好符合“异或”的情况。第2位的值来自于第一位的进位加上本身的值,进位的情况也有4种,0+0=0、1+0=0...转载 2019-11-23 14:59:47 · 266 阅读 · 0 评论 -
机器人走方格I
题目链接:原题来源:牛客网有一个XxY的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。给定两个正整数int x,int y,请返回机器人的走法数目。保证x+y小于等于12。代码: //机器人 public static int count(int x,int y){ if(x==1||y==1...原创 2019-11-19 00:37:15 · 226 阅读 · 0 评论