随笔分类 -  牛客网

摘要:无缓存交换 牛客网 程序员面试金典 C++ Python 题目描述 请编写一个函数,函数内不使用任何临时变量,直接交换两个数的值。 给定一个int数组AB,其第零个元素和第一个元素为待交换的值,请返回交换后的数组。 测试样例: [1,2] 返回:[... 阅读全文
posted @ 2018-09-18 12:50 vercont 阅读(142) 评论(0) 推荐(0)
摘要:整数转化 牛客网 程序员面试金典 C++ Python 题目描述 编写一个函数,确定需要改变几个位,才能将整数A转变成整数B。 给定两个整数int A,int B。请返回需要改变的数位个数。 测试样例: 10,5 返回:4 C++class Tra... 阅读全文
posted @ 2018-09-18 12:50 vercont 阅读(134) 评论(0) 推荐(0)
摘要:最大连续数列和 牛客网 程序员面试金典 C++ Python 题目描述 对于一个有正有负的整数数组,请找出总和最大的连续数列。 给定一个int数组A和数组大小n,请返回最大的连续数列的和。保证n的大小小于等于3000。 测试样例: [1,2,3,-6... 阅读全文
posted @ 2018-09-18 12:50 vercont 阅读(298) 评论(0) 推荐(0)
摘要:无判断max 牛客网 程序员面试金典 C++ Python 题目描述 请编写一个方法,找出两个数字中最大的那个。条件是不得使用if-else等比较和判断运算符。 给定两个int a和b,请返回较大的一个数。若两数相同则返回任意一个。 测试样例: 1,... 阅读全文
posted @ 2018-09-18 12:50 vercont 阅读(164) 评论(0) 推荐(0)
摘要:平衡二叉树检查 牛客网 程序员面试金典 C++ Python 题目描述 实现一个函数,检查二叉树是否平衡,平衡的定义如下,对于树中的任意一个结点,其两颗子树的高度差不超过1。 给定指向树根结点的指针TreeNode* root,请返回一个bool,代表这棵树是... 阅读全文
posted @ 2018-09-18 12:50 vercont 阅读(240) 评论(0) 推荐(0)
摘要:寻找下一个结点 牛客网 程序员面试金典 C++ java Python题目描述 请设计一个算法,寻找二叉树中指定结点的下一个结点(即中序遍历的后继)。 给定树的根结点指针TreeNode* root和结点的值int p,请返回值为p的结点的后继结点的值。保证结点的值大... 阅读全文
posted @ 2018-09-17 00:31 vercont 阅读(118) 评论(0) 推荐(0)
摘要:字符串压缩 牛客网 程序员面试金典 C++ Python 题目描述 利用字符重复出现的次数,编写一个方法,实现基本的字符串压缩功能。比如,字符串“aabcccccaaa”经压缩会变成“a2b1c5a3”。若压缩后的字符串没有变短,则返回原先的字符串。 给定一个... 阅读全文
posted @ 2018-09-17 00:31 vercont 阅读(372) 评论(0) 推荐(0)
摘要:平分的直线 牛客网 程序员面试金典 C++ Python 题目描述 在二维平面上,有两个正方形,请找出一条直线,能够将这两个正方形对半分。假定正方形的上下两条边与x轴平行。 给定两个vecotrA和B,分别为两个正方形的四个顶点。请返回一个vector,代表所... 阅读全文
posted @ 2018-09-17 00:31 vercont 阅读(215) 评论(0) 推荐(0)
摘要:奇偶位交换 牛客网 程序员面试金典 C++ Python 题目描述 请编写程序交换一个数的二进制的奇数位和偶数位。(使用越少的指令越好) 给定一个int x,请返回交换后的数int。 测试样例: 10 返回:5 C++class Exchange ... 阅读全文
posted @ 2018-09-17 00:31 vercont 阅读(411) 评论(0) 推荐(0)
摘要:加法运算替代 牛客网 程序员面试金典 题目描述 请编写一个方法,实现整数的乘法、减法和除法运算(这里的除指整除)。只允许使用加号。 给定两个正整数int a,int b,同时给定一个int type代表运算的类型,1为求a * b,0为求a / b,-1为求... 阅读全文
posted @ 2018-09-17 00:30 vercont 阅读(158) 评论(0) 推荐(0)
摘要:回文链表 牛客网 程序员面试金典 C++ Python题目描述 请编写一个函数,检查链表是否为回文。 给定一个链表ListNode* pHead,请返回一个bool,代表链表是否为回文。 测试样例: {1,2,3,2,1} 返回:true {1,2,3,2,3} 返... 阅读全文
posted @ 2018-09-17 00:30 vercont 阅读(217) 评论(0) 推荐(0)
摘要:双栈排序 牛客网 程序员面试金典 C++ Python 题目描述 请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中。 给定一个int[] numbers(C++中为vector... 阅读全文
posted @ 2018-09-17 00:30 vercont 阅读(222) 评论(0) 推荐(0)
摘要:另类加法 牛客网 程序员面试经典 C++ Python 题目描述 请编写一个函数,将两个数字相加。不得使用+或其他算数运算符。 给定两个int A和B。请返回A+B的值 测试样例: 1,2 返回:3 C++class UnusualAdd {pu... 阅读全文
posted @ 2018-09-17 00:30 vercont 阅读(119) 评论(0) 推荐(0)
摘要:原串反转 牛客网 程序员面试金典 C++ Python 题目描述 请实现一个算法,在不使用额外数据结构和储存空间的情况下,翻转一个给定的字符串(可以使用单个过程变量)。 给定一个string iniString,请返回一个string,为翻转后的字符串。保证字... 阅读全文
posted @ 2018-09-17 00:30 vercont 阅读(157) 评论(0) 推荐(0)
摘要:判断直线相交 牛客网 程序员面试金典 题目描述 给定直角坐标系上的两条直线,确定这两条直线会不会相交。 线段以斜率和截距的形式给出,即double s1,double s2,double y1,double y2,分别代表直线1和2的斜率(即s1,s2)和截距... 阅读全文
posted @ 2018-09-17 00:30 vercont 阅读(146) 评论(0) 推荐(0)
摘要:二进制插入 牛客网 程序员面试金典 题目描述 有两个32位整数n和m,请编写算法将m的二进制数位插入到n的二进制的第j到第i位,其中二进制的位数从低位数到高位且以0开始。 给定两个数int n和int m,同时给定int j和int i,意义如题所述,请返回操... 阅读全文
posted @ 2018-09-14 11:00 vercont 阅读(119) 评论(0) 推荐(0)
摘要:像素反转 牛客网 程序员面试金典 题目描述 有一副由NxN矩阵表示的图像,这里每个像素用一个int表示,请编写一个算法,在不占用额外内存空间的情况下(即不使用缓存矩阵),将图像顺时针旋转90度。 给定一个NxN的矩阵,和矩阵的阶数N,请返回旋转后的NxN矩阵... 阅读全文
posted @ 2018-09-14 11:00 vercont 阅读(152) 评论(0) 推荐(0)
摘要:二进制小数 牛客网 程序员面试金典 题目描述 有一个介于0和1之间的实数,类型为double,返回它的二进制表示。如果该数字无法精确地用32位以内的二进制表示,返回“Error”。 给定一个double num,表示0到1的实数,请返回一个string,代表该... 阅读全文
posted @ 2018-09-14 11:00 vercont 阅读(162) 评论(0) 推荐(0)
摘要:二叉树中和为某一值的路径 牛客网 程序员面试金典题目描述 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)c++/... 阅读全文
posted @ 2018-09-14 10:59 vercont 阅读(187) 评论(0) 推荐(0)
摘要:顺时针打印矩阵 牛客网 剑指Offer题目描述 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,1... 阅读全文
posted @ 2018-09-13 13:27 vercont 阅读(144) 评论(0) 推荐(0)