摘要: 给定一个排序数组,在原数组中删除重复出现的数字,使得每个元素只出现一次,并且返回新的数组的长度。不要使用额外的数组空间,必须在原地没有额外空间的条件下完成样例给出数组A =[1,1,2],你的函数应该返回长度2,此时A=[1,2]。解题思路:相对而言,这道题因为是已经排好的序,所以比较简单。但同时题... 阅读全文
posted @ 2015-11-23 22:48 码代码的banana 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 给定两个二进制字符串,返回他们的和(用二进制表示)。a =11b =1返回100解题思路:算法上就是从右至左以此按位相加,并且要考虑进位。除此以外这道题还需要注意的就是数字和字符串之间的互相转化以及字符串的按位取的方法charAt(); 1 class Solution { 2 /** 3 ... 阅读全文
posted @ 2015-11-23 22:26 码代码的banana 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。样例在数组[1, 2, 3, 3, 4, 5, 10]中二分查找3,返回2。挑战如果数组中的整数个数超过了2^32,你的算法是... 阅读全文
posted @ 2015-11-23 01:34 码代码的banana 阅读(606) 评论(0) 推荐(0) 编辑
摘要: 给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。样例给出数组[1,1,1,1,2,2,2],返回 1挑战要求时间复杂度为O(n),空间复杂度为O(1).解题思路:主元素问题还是一个比较经典的题目,相关的算法在这篇博客中讲述的非常清楚http://blog.csdn.... 阅读全文
posted @ 2015-11-23 00:54 码代码的banana 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 给定一个未排序的整数数组,找到其中位数。中位数是排序后数组的中间值,如果数组的个数是偶数个,则返回排序后数组的第N/2个数。给出数组[4, 5, 1, 2, 3], 返回 3给出数组[7, 9, 4, 5],返回 5挑战时间复杂度为O(n);主要利用快排递归划分的思想,可以在期望复杂度为O(n)的条... 阅读全文
posted @ 2015-11-23 00:03 码代码的banana 阅读(353) 评论(0) 推荐(0) 编辑