博客专栏  >  综合   >  算法系列

算法系列

常见算法题总结,包含LeetCode 《剑指offer》以及一些常见的算法面试题。

关注
0 已关注
148篇博文
  • 算法系列——开篇及目录

    前言 题目来源于leetcode网站 原题以及 《剑指offer》。 数学运算 Add Two Numbers Reverse Integer String to Integer (ato...

    2017-08-15 11:19
    89
  • 算法系列——逆置一个栈

    题目描述一个栈一次压入了1、2、3、4、5,那么从栈顶到栈底分别为5、4、3、2、1.将这个栈转置后,从栈顶到栈底为1、2、3、4、5,解题思路空间复杂度为O(n)生成一个辅助栈,依次从原来栈中弹出压...

    2017-09-05 11:53
    344
  • 算法系列——滑动窗口最大值

    题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,...

    2017-09-04 15:05
    282
  • 算法系列——扑克牌的顺子

    ##题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,...

    2017-09-04 09:49
    237
  • 算法系列——机器人的运动范围

    题目描述地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够...

    2017-09-04 10:17
    274
  • 算法系列——n个骰子的点数

    题目描述把 n 个骰子扔在地上,所有骰子朝上一面的点数之和为 s。输入 n,打印出 s 的所有可能的值出现的概率。解题思路此题目解法很多,其中使用动态规划法最好理解,代码也比较简洁1.现在变量有:骰子...

    2017-09-01 17:50
    349
  • 算法系列——数组中只出现一次的数字

    题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。 解题思路 程序实现

    2017-09-01 16:12
    228
  • 算法系列——和为S的连续正数序列

    题目描述 题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数...

    2017-09-01 15:38
    203
  • 算法系列——在O(1)时间内删除链表结点

    题目描述 给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间内删除该结点。 解题思路 程序实现

    2017-09-01 14:39
    181
  • 算法系列——和为S的两个数

    题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。解题思路指针对撞法,采用双指针法,i,j从数组两端开始往中间靠拢...

    2017-09-01 15:19
    194
  • 算法系列——二叉搜索树的第k个结点

    题目描述给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。解题思路1,二叉搜索树的中序遍历是排序的,所以先...

    2017-08-31 21:10
    280
  • 算法系列——构建乘积数组

    题目描述给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…A[i-1]*A[i+1]…*A[n-1]。不能使用除法.解题思路下三角...

    2017-08-30 20:31
    151
  • 算法系列——二叉树下一个结点

    题目描述给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。解题思路 (1) 若该节点存在右子树:则下一个节点为右子...

    2017-08-31 09:51
    237
  • 算法系列——数组中的重复数字

    题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7...

    2017-08-30 17:29
    335
  • 算法系列——不用加减乘除做加法

    题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。解题思路首先看十进制是如何做的: 5+7=12,三步走 第一步:相加各位的值,不算进位,得到2。 第二步:计算...

    2017-08-30 16:55
    284
  • 算法系列——求1+2+3+...+n

    题目描述求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。解题思路可以利用pow()方法和移位运算利用求和公式 ...

    2017-08-30 16:26
    333
  • 算法系列——数组中出现次数超过一半的数字(剑指offer)

    题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如...

    2017-08-29 11:32
    328
  • 算法序列——最长公共子序列

    题目描述 说明 最长公共子序列的定义: 最长公共子序列问题是在一组序列(通常2个)中找到最长公共子序列(注意:不同于子串,LCS不需要是连续的子串)。该问题是典型的计算机科学问题,是文件差异比较...

    2017-08-28 10:38
    262
  • 算法系列——最长公共子串

    给出两个字符串,找到最长公共子串,并返回其长度。 注意事项 子串的字符应该连续的出现在原字符串中,这与子序列有所不同。 样例 给出A=“ABCD”,B=“CBCE”,返回 2

    2017-09-01 16:42
    303
  • 算法系列——二叉搜索树和双向链表(剑指offer)

    题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 解题思路 程序实现

    2017-08-28 10:32
    288
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部