14:剪绳子 发表于 2018-09-12 | 分类于 简单算法 题目14:剪绳子给定一根长度为n的绳子,请把绳子剪成m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],…,k[m]。请问k[0]* k[1] * … *k[m]可能的最大乘积是多少? 阅读全文 »
11:旋转数组的最小数字 发表于 2018-09-12 | 分类于 简单算法 题目11:旋转数组的最小数字把一个数组最开始的若干个元素搬到数组的末尾, 我们称之数组的旋转。输入一个递增排序的数组的一个旋转, 输出旋转数组的最小元素。 阅读全文 »
10:斐波那契数列 发表于 2018-09-12 | 分类于 简单算法 题目10:斐波那契数列斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列、费波那西数列、费波拿契数、费氏数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波那契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*),用文字来说,就是斐波那契数列由 0 和 1 开始,之后的斐波那契数列系数就由之前的两数相加 阅读全文 »
07:重建二叉树 发表于 2018-09-12 | 分类于 简单算法 题目07:重建二叉树输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 阅读全文 »
顺时针打印矩阵 发表于 2018-09-12 | 分类于 左神算法课 题目:顺时针打印矩阵(算法课第四课)对于一个矩阵,请设计一个算法从左上角(mat[0][0])开始,顺时针打印矩阵元素。给定int矩阵mat,请返回一个数组,数组中的元素为矩阵元素的顺时针输出。 阅读全文 »
二叉树序列化和反序列化 发表于 2018-08-29 | 分类于 左神算法课 看了左程云老师的算法课,记录学习过程,整理思路和形成系统认识。 题目:二叉树序列化和反序列化(算法课第五课)二叉树被记录成文件的过程叫做二叉树的序列化,通过文件内容重建原来的二叉树的过程叫做二叉树的反序列化。 阅读全文 »
设计RandomPool结构 发表于 2018-08-29 | 分类于 左神算法课 题目(算法课第六课)要求设计一种结构,在该结构中有如下三个功能: insert(key):将某个key加入到该结构,做到不重复加入 delete(key):将原本在结构中的某个key移除 getRandom():等概率随机返回结构中的任何一个key Insert()、delete()和getRandom()方法的时间复杂度都是O(1) 阅读全文 »