剑指offer
文章平均质量分 56
Dyson~
小小黑
展开
-
剑指offer( 面试题 9 )--斐波那契数列
常规解法,使用循环 #include <stdio.h> long long Circ(int n) { long long n1=0,n2=1,n3=n; int i=n; for(;i>1;i++) { n3=n1+n2; n1=n2; n2=n3 ...原创 2018-05-12 18:19:38 · 285 阅读 · 0 评论 -
杨氏矩阵有一个二维数组。 数组的每行从左到右是递增的,每列从上到下是递增的。 在这样的数组中查找一个数字是否存在。时间复杂度小于O(N);
首先先了解一下杨氏矩阵 杨氏矩阵是一个从左到右依次递增,从上到下依次递增的二维数组 比如:1 2 3 2 3 4 3 4 5 解法思路: 如果要在杨氏矩阵中查找一个数,且时间复杂度小于O(N),那根据该数组特点依次递增的特性,则可以先从数组的每一行的最一个元素开始,如果相等就直接输出,如果小于要查找的数则用下一行的最后一个元...原创 2018-05-05 11:03:51 · 759 阅读 · 0 评论 -
剑指offer ( 面试题 32) -- 从1到n整数中1出现的个数
题目描述 : 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。 解题思路 : 入下图所示将数据中每一位拿出来单独处理 , 为一位记为...原创 2018-09-17 20:56:37 · 2056 阅读 · 0 评论 -
LeetCode--153 寻找旋转排序数组中的最小值 (Find Minimum in Rotated Sorted Array)(C语言版)
题目描述: 解题思路:可以使用顺序遍历,将最小值记录下来,时间复杂度为O(n),但是根据题目描述,该数组为旋转排序数组,这里就可以联想到二分查找,试着用二分查找的思想,首先使用Lindex和Rindex记录左右区间的下标,然后再用Mindex表示区间中间元素的下标,根据旋转特性可以将数组分为,大的递增区间和小的递增区间,在大区间中所有元素都大于小区间元素,当我们取到中间元素时就可以判断,当中...原创 2018-10-11 21:29:59 · 231 阅读 · 0 评论 -
LeetCode--154 寻找旋转排序数组中的最小值 II ( Find Minimum in Rotated Sorted Array II)(C语言版)
题目描述: 解题思路:当数组有重复元素时,只要Mindex与Rindex和Lindex下标代表的元素都不相等时还是可以继续使用二分查找,但是当Mindex与Rindex和Lindex下标代表的元素都相等时,这时使用就不能使用二分查找,需要将这一段区间单独取出来使用顺序遍历的方法算出数组中最小值。 代码如下: //顺序遍历求出最小值 int MinInorder(int* Nums,in...原创 2018-10-12 09:18:55 · 261 阅读 · 0 评论 -
剑指offer(面试题四)--替换空格(java)
算法设计: 创建一个StringBuilder类型的对象newStr,用于保存结果 从左往右扫描字符串str 如果当前最符str.Charat(i)是空白符,则向newStr中追加"%20";否则,向newStr中追加当前字符 将newStr转换成字符串返回 代码如下: public class Solution { public String replaceSpace(S...原创 2018-10-18 17:50:41 · 165 阅读 · 0 评论 -
剑指offer(面试题五)--从尾到头打印单链表
代码如下(递归实现): /** * public class ListNode { * int val; * ListNode next = null; * * ListNode(int val) { * this.val = val; * } * } * */ import java.util.Ar...原创 2018-10-18 18:06:11 · 184 阅读 · 0 评论 -
LeetCode -- 50 Pow(x, n)(C语言版)
题目描述: 代码如下(附有详解): double myPow(double x, int n) //如果n为零,表明幂数为0,直接返回1 if(n == 0) return 1; //如果n为零,表明幂数为0,直接返回x if(n == 1) return x; //p值相当于将幂数折半,减...原创 2018-10-15 17:05:26 · 253 阅读 · 0 评论