基础算法题
低调的进步
这个作者很懒,什么都没留下…
展开
-
二维数组中的查找
转自:http://liuqing-2010-07.iteye.com/blog/13308301.1. 问题描述 在一个二维整数数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 例如下面的二维数组就是每行、每列都递增排序。如果在这个数组中查找数字7,则返回转载 2015-06-19 16:25:23 · 280 阅读 · 0 评论 -
输入一个整数,求该整数的二进制表示中有多少个1
求一个整数的二进制中1的个数。 题目:输入一个整数,求该整数的二进制表达中有多少个1。例如输入10,由于其二进制表示为1010,有两个1,因此输出2。 分析:这是一道很基本的考查位运算的面试题。包括微软在内的很多公司都曾采用过这道题。 一个很基本的想法是:我们先判断整数的最右边一位是不是1。接着把整数右移一位,原来处于右边第二位的数字现在被移到转载 2015-06-20 13:01:33 · 4165 阅读 · 0 评论 -
剑指Offer旋转数组中的最小数字
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增的排序的数组的一个旋转,输出旋转数组的最小元素。例如输入{1,2,3,4,5}的一个旋转为{3,4,5,1,2},该数组的最小值为1。分析最直观的想法就是顺序遍历一次数组,就能够找出最小的数字,这样的时间复杂度是O(n)。既然叫做旋转数组,那么我们就需要利用好旋转数组的特性。看到这样的旋原创 2015-06-23 13:38:57 · 316 阅读 · 0 评论