剑指offer 第五天 JZ8 跳台阶题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 解法思路: 2020-07-13 刷题 #剑指offer
剑指offer 第四天 JZ4 重建二叉树题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列 [1,2,4,7,3,5,6,8] 和中序遍历序列 [4,7,2,1,5,3,8,6] ,则重建二叉树并返回。 解法思路:使用递归的方法求解。这道题需要对二叉树的性质比较了解,需要熟悉二叉树的几种遍历方式。 前序遍历是先遍历根节点, 2020-07-11 刷题 #剑指offer
剑指offer 第二天 JZ49 把字符串转化成整数题目描述: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0 示例:输入:+21474836471a33输出:21474836470 解法思路:使用了一个很巧妙的方法,用一个字典将字符串”0”-“ 2020-07-07 刷题 #剑指offer
剑指offer 第一天 JZ16 合并两个排序的链表题目描述: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 解法一思路:使用迭代的方法。先判断临界情况,依次判断输入的两个链表是否为空指针,如果有其中一个为空指针链表,则返回另一个有序的链表。 然后初始化一个新链表,依次比较两个有序链表的值,哪个链表的值较小,则新链表的指针指向该值。继续循环,依次比较,最终返回单调递增的 2020-07-06 刷题 #剑指offer
Python之函数式编程模块(2) 这篇文章主要是讲解一些函数式编程常用的模块,比如:itertools, functools以及operator。 一、itertools –用以创建迭代器的模块 2020-06-19 Python #函数式编程 #高级语法
Python之函数式编程模块(1) 一、编程方式介绍一般编程语言支持通过以下几种方式来解决具体的问题: 大多数的编程语言都是过程式的,也就是我们常说的面向过程的编程方式。而所谓程序是指令的列表,告诉计算机如何处理程序的输入。C、Pascal甚至Unix shell都是过程式语言。 然后有一些编程语言是声明式的,主要是你需要编写一个用来描述待解决问题的说明,然后这个语言的具体实现会指明怎样高效的进行计算并解决问题。SQL 可能是你最 2020-06-19 Python #函数式编程 #高级语法