![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法刷题总结
TsinLau
这个作者很懒,什么都没留下…
展开
-
剑指offer的Python实现(一)
1.二维数组的查找:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。class Solution: # array 二维列表 def Find(self, target, array): # write co...原创 2019-03-27 20:56:08 · 208 阅读 · 0 评论 -
剑指offer的Python实现(二)
6旋转数组的最小数字链接:https://www.nowcoder.com/questionTerminal/9f3231a991af4f55b95579b44b7a01ba来源:牛客网Python方法大总结方法一:直接min函数,有点像开挂class Solution: def minNumberInRotateArray(self, rotateArray)...原创 2019-03-27 21:02:30 · 186 阅读 · 0 评论 -
剑指offer的Python实现(三)
位运算:11.二进制中1的个数输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。思路:先判断整数二进制表示中最右边一位是不是1,接着把输入的整数右移一位,再判断是不是1.这样每次移动一位,直到整个整数变成0为止。现在的问题是怎么判断一个整数的最右边是不是1. 只要把整合和1做位于运算看结果是不是0.如果结果是1,则该位数为1,否则为0.但是,上边的...原创 2019-03-27 21:03:35 · 185 阅读 · 0 评论 -
剑指offer的Python实现(四)
16.合并两个排序的链表(递归)输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Sol...原创 2019-03-27 21:05:10 · 190 阅读 · 0 评论 -
剑指offer的Python实现(五)
21.栈的压入和弹出序列题目描述输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)# -*- coding:utf-8 -*-cla...原创 2019-03-27 21:06:18 · 181 阅读 · 0 评论 -
剑指offer的Python实现(六)
26.二叉搜索树与双向链表题目描述输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# self.val = x# self.left =...原创 2019-03-27 21:07:09 · 267 阅读 · 0 评论 -
剑指offer的Python实现(七)
28.数组中出现次数超过一半的数字题目描述数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。# -*- coding:utf-8 -*-class Solution: def MoreThanHalfNum_Sol...原创 2019-04-01 17:14:59 · 194 阅读 · 0 评论