摘要:
class Solution: def buildTree(self, preorder: List[int], inorder: List[int]) -> TreeNode: if not preorder or not inorder: return None root = TreeNode( 阅读全文
摘要:
题目:给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m] 。请问 k[0]*k[1]*...*k[m] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的 阅读全文
摘要:
题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。 示 阅读全文
摘要:
题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true,否则返回 false。假设输入的数组的任意两个数字都互不相同。 思路步骤: 1.确定根节点root;2.遍历序列(除去root结点),找到第一个大于root的位置,则该位置左边为左子树,右边为右子树;3.遍历 阅读全文
摘要:
1.先序遍历:根节点->左子树->右子树 1 # 先序打印二叉树(递归) 2 def preOrderTraverse(node): 3 if node is None: 4 return None 5 print(node.val) 6 preOrderTraverse(node.left) 7 阅读全文
摘要:
题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 因为无重复字符的最长子串是 "b",所以其长度 阅读全文
摘要:
概念 最大公约数:指两个或多个整数公有约数中最大的一个 最小公倍数:两个或多个整数公有的倍数叫做它们的公倍数,其中除0以外最小的一个公倍数就叫做这几个整数的最小公倍数 二者关系:两个数之积=最小公倍数*最大公约数 方法1:辗转相除法 a=int(input('please enter 1st num 阅读全文
摘要:
题目描述: 输入一个正整数,按照从小到大的顺序输出它的所有质因子(如180的质因子为2 2 3 3 5 )最后一个数后面也要有空格 示例1 输入 180 输出 2 2 3 3 5 a = int(input()) def q(x): zhi = 1 for i in range(2,int(x**0 阅读全文
摘要:
在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例 1: 输入: [7,5,6,4] 输出: 5 方法1:暴力求解使用简单的循环判断,我们的思路是顺序扫描整个数组,每扫到一个数字,逐个比较该数自和它后面的数字大小这种方法 阅读全文
摘要:
输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例: 输入:s = "abc" 输出:["abc","acb","bac","bca","cab","cba"]思路:本问题可以利用回溯法的思想解决。我们不知道它明确的计算法则。而是先进行试 阅读全文