上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 60 下一页
摘要: 题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输出描述:对应每个测试案例,输出两个数,小的先输出。分析:首尾双指针法(听说大家把它叫做左右夹逼法!)p1指向头部,p2指向尾部,数组递增如果v【p1】+v【p2】>S,那么说明v【p1】+v【p2】的结果需要变小,那么只能p2向前移动如果v【p1】+v【p2】 ... 阅读全文
posted @ 2019-09-24 16:03 西*风 阅读(133) 评论(0) 推荐(0)
摘要: 题目描述把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。分析:链接:https://www.nowcoder.com/questionTerminal/6aa9e04fc3794f68acf8778237ba065b?f=discussion首先从丑数的定义我们知道... 阅读全文
posted @ 2019-09-24 15:40 西*风 阅读(174) 评论(0) 推荐(0)
摘要: 题目描述输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。分析:排成最小的数,那么这些数组元素肯定有个最佳的排序,所以我们需要对数组元素进行排序,排序之后数组元素顺序连接即可组成最小的数所以这些数排序的规则是什么?字典序!假如x1x2x3和y1y2y3两个数,组成的数x1x... 阅读全文
posted @ 2019-09-24 11:39 西*风 阅读(421) 评论(0) 推荐(1)
摘要: 题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)分析:由于链表存在一个随机指针,所以不能按照普通的方法复制,按照如下方法复制:我们可以把这种方法叫做借腹生子法。。。。。。1.先对原链表的每个结点ai复制一个结点bi,插入到ai... 阅读全文
posted @ 2019-09-24 11:27 西*风 阅读(152) 评论(0) 推荐(0)
摘要: 题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。分析:经典的异或技巧题两个相同的数字异或的结果为0,一个数和0异或的结果是其本身,假设现在那两个不同的数字是A和B,那么将整个数组的元素依次异或得到的结果ans就是A和B的异或结果ans的二进制中第k位的1代表A的第k位和B的第k位不同,我们现在按照第k位是否相同将原数组分成两个子数组,那么必定A和... 阅读全文
posted @ 2019-09-24 11:12 西*风 阅读(170) 评论(0) 推荐(0)
摘要: 题目描述 统计一个数字在排序数组中出现的次数。 分析:数组有序,采用二分查找无疑 两种方法,时间复杂度差不多,都是利用二分查找,不过统计k出现的次数有所不同而已 方法1:二分查找k,找到任意一个k的下标index,index向两边扩展即可 方法2:二分查找k+0.5和k-0.5的插入位置index1 阅读全文
posted @ 2019-09-24 10:12 西*风 阅读(278) 评论(0) 推荐(0)
摘要: 题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。分析:不需要采用辅助空间,用原数组的空间充当Hash数组即可,因为所有元素都处于0到n-1的范围内以数组元素值充当数组下标进行... 阅读全文
posted @ 2019-09-24 09:37 西*风 阅读(249) 评论(0) 推荐(0)
摘要: 题目描述输入两个链表,找出它们的第一个公共结点。分析:双指针法假设现在存在两个链表L1和L2,先遍历L1和L2得到链表长度n和m,现在有两个指针p1和p2分别指向L1和L2的头结点,假设现在n>m,那么先让p1先走n-m步,然后两个结点一起走,当p1和p2指向的结点是同一个结点的时候,那么该结点就是双链表的第一个公共结点时间复杂度:O(N+M)ListNode* FindFirstCommonNo... 阅读全文
posted @ 2019-09-24 09:11 西*风 阅读(125) 评论(0) 推荐(0)
摘要: 题目描述求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。分析:可以使用递归!class Solution {public: int Sum_Solution(int n) { int sum=n; (n>0)&&(sum+=Sum_Solution(n-1)); retur... 阅读全文
posted @ 2019-09-23 17:29 西*风 阅读(151) 评论(0) 推荐(0)
摘要: 题目描述HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列的... 阅读全文
posted @ 2019-09-23 16:28 西*风 阅读(148) 评论(0) 推荐(0)
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 60 下一页