刷题
文章平均质量分 63
水泽木兰@野蛮生长
每天进步一点点
展开
-
二叉搜索树de遍历
给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。思路:首先看见这道题,中序遍历可以很好地解决这个问题,但是中序遍历中递归我不会,想不明白。看了好多大神的解决方案,最后自己写出来了。...原创 2018-05-19 16:12:32 · 128 阅读 · 0 评论 -
股票的最大利润
题目:假设某股票的价格是按时间先后顺序存储在数组中,请问卖该股票一次获得的最大利润是多少?class Solution: def sortting(self, lis): if len(lis) < 1 or lis == None: return -1 mix = 0 for i in range(len(li...原创 2018-06-17 11:12:10 · 145 阅读 · 0 评论 -
扑克牌中的顺子
题目:从扑克牌中随机抽取5张,判断是不是顺子,大小王可以看做任意牌。class Solution: def sort_l(self, L, length): if L == None or length < 1: return False lis = sorted(L) #排序 num0 = lis.coun...原创 2018-06-17 09:21:41 · 203 阅读 · 0 评论 -
n个骰子的点数
题目:把n个骰子扔到地上,所有的骰子朝上的一面点数之和为S,输入n,打印出所有可能的值出现的概率思路:剑指offer里感觉比较难的提,看书上的代码也没看的太懂,大致的思路:先把问题抽象出来,利用动态规划思想求解,首先要求点数和S出现的概率,就要先求出点数S出现的次数/总的次数,总的次数好求,就是每个骰子有6种可能,一共n个骰子,那么就有6*6.....6,n个6乘积,下面计算点数S出现的次数。把n...原创 2018-06-17 08:44:41 · 636 阅读 · 0 评论 -
在排序数组中查找数字——二分法
题目描述:统计数字在排序数组中出现的次数class Solution: def top(self, target, L): if L is None or L == []: return None if target == None: return None if target in L: ...原创 2018-06-02 11:04:19 · 726 阅读 · 0 评论 -
每日一练--错题整理
1 设有两个串T和P,求P在T中首次出现的位置的运算称作(模式匹配 )模式匹配是数据结构 中字符串的一种基本运算,给定一个子串,要求在某个字符串中找出与该子串相同的所有子串,这就是模式匹配。假设P是给定的子串,T是待查找的字符串,要求从T中找出与P相同的所有子串,这个问题成为模式匹配问题。P称为模式,T称为目标。如果T中存在一个或多个模式为P的子串,就给出该子串在T中的位置,称为匹配成功;否则匹...原创 2018-06-13 11:15:13 · 418 阅读 · 0 评论 -
数组中数字出现的次数
题目一:数组中只出现一次的2个数字一个整型数组里除了两个数字外,其他数字都出现了2次,清编写程序找出来这2个数字,要求时间复杂度为O(n),空间复杂度为O(1)。思路:本题对时间复杂度要求,如果没有要求可以用以往的方法,先pop,然后在in判断,这里采用了位运算--异或。1 先把数组中的每个元素异或,最后得到的是要找的2个数字的异或结果,因为相同数字异或结果为02 根据异或结果中的为1的位将数组中...原创 2018-06-05 09:20:38 · 1368 阅读 · 0 评论 -
二叉搜索树的后序遍历and重建二叉树
题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。思想:主要考察的是对二叉树后序遍历的特点,左右根,所以可以先找到根节点,再找到左子树的范围,右子树的范围,判断左子树的值是否全都小于根节点和右子树的值是否全都大于根节点,然后再递归判断左,右子树是否都是后序遍历。。自己对递归还是很萌,在编写代码时,出现了...原创 2018-05-23 21:08:12 · 679 阅读 · 0 评论 -
《剑指offer》 57 和为S的数字
题目描述输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。先遍历每个元素,在做差,看看差值在不在里面,因为数组是排序过的,所以乘积较小的肯定就是离得最远的,、python 的话还是很方便的# -*- coding:utf-8 -*-class Solution: def FindNumbersWithSum(s...原创 2018-05-19 16:43:42 · 172 阅读 · 0 评论 -
不用加减乘除做加法
题目描述写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。# -*- coding:utf-8 -*-class Solution: def Add(self, num1, num2): # write code here mask = 0xFFFFFFFF maxval = 0x7FFFFFFF...原创 2018-06-17 21:14:38 · 101 阅读 · 0 评论