剑指offer
Cytues
这个作者很懒,什么都没留下…
展开
-
二维数组中的查找(python)
GitHub:https://github.com/cytues/sword源码题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。# -*- coding:utf-8 -*-# 时间复杂度为n^2class Solution:...原创 2018-09-12 11:10:04 · 537 阅读 · 0 评论 -
数值的整数次方(python)
GitHub:https://github.com/cytues/sword源码题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。# -*- coding:utf-8 -*-class Solution: def Power(self, base, exponent): # write ...原创 2018-09-14 21:53:05 · 612 阅读 · 0 评论 -
二进制中1的个数(python)
GitHub:https://github.com/cytues/sword源码题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。# -*- coding:utf-8 -*-'''如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)...原创 2018-09-14 21:51:11 · 1573 阅读 · 0 评论 -
矩形覆盖(python)
GitHub:https://github.com/cytues/sword源码题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?# -*- coding:utf-8 -*-'''依旧是斐波那契数列2*n的大矩形,和n个2*1的小矩形其中 2*target 为大矩阵的大小有以下几种情形...原创 2018-09-14 21:49:23 · 446 阅读 · 1 评论 -
变态跳台阶(python)
GitHub:https://github.com/cytues/sword源码题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。# -*- coding:utf-8 -*-'''因为n级台阶,第一步有n种跳法:跳1级、跳2级、到跳n级跳1级,剩下n-1级,则剩下跳法是f(n-1)跳2级,剩下n-2级,则...原创 2018-09-14 21:47:35 · 1023 阅读 · 0 评论 -
跳台阶(python)
GitHub:https://github.com/cytues/sword源码题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。# -*- coding:utf-8 -*-'''对于本题,前提只有 一次 1阶或者2阶的跳法。a.如果两种跳法,1阶或者2阶,那么假定第一次跳的是一阶,那么剩下的是n-...原创 2018-09-14 21:46:15 · 1367 阅读 · 2 评论 -
斐波那契数列(python)
GitHub:https://github.com/cytues/sword源码题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39# -*- coding:utf-8 -*-'''使用递归会超时'''class Solution: def Fibonacci(self, n): ...原创 2018-09-14 21:44:41 · 219 阅读 · 0 评论 -
用两个栈实现队列(python)
GitHub:https://github.com/cytues/sword源码题目描述用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。# -*- coding:utf-8 -*-'''A是入栈的,B是出栈的,入栈时,直接进入A即可,出栈时,先判断是否有元素,如果B没有元素,pop肯定报错,应该先将A中所有的元素压倒B里面,再pop最上面...原创 2018-09-14 21:42:58 · 1488 阅读 · 1 评论 -
重建二叉树(python)
GitHub:https://github.com/cytues/sword源码题目描述输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。# -*- coding:utf-8 -*-class ...原创 2018-09-14 21:40:47 · 666 阅读 · 0 评论 -
从尾到头打印链表(python)
GitHub:https://github.com/cytues/sword源码题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = ...原创 2018-09-14 21:38:06 · 444 阅读 · 0 评论 -
替换空格(python)
GitHub:https://github.com/cytues/sword源码题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。# -*- coding:utf-8 -*-class Solution: # s 源字符串 def replaceS...原创 2018-09-14 21:35:23 · 1440 阅读 · 1 评论 -
旋转数组的最小数字(python)
GitHub:https://github.com/cytues/sword源码题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路:剑指Off...原创 2018-09-12 11:50:39 · 567 阅读 · 0 评论 -
树的子结构
题目描述输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Non...原创 2018-10-12 10:07:31 · 132 阅读 · 0 评论