
算法
笨笨的灰太狼
好好学习,天天向上
展开
-
leetcode-分式化简
题目描述:有一个同学在学习分式。他需要将一个连分数化成最简分数,你能帮助他吗?连分数是形如上图的分式。在本题中,所有系数都是大于等于0的整数。输入的cont代表连分数的系数(cont[0]代表上图的a0,以此类推)。返回一个长度为2的数组[n, m],使得连分数的值等于n / m,且n, m最大公约数为1。示例:输入:cont = [3, 2, 0, 2]输出:[13, 4]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/deep-da原创 2020-06-30 08:23:08 · 425 阅读 · 0 评论 -
寻找素数, 普通实现, 埃氏筛法
一:素数的概念素数就是除了1和它本身再也没有其他因数的数, 例如数字7只能被1和7整除,所以数字7是素数。与素数相对的是合数,合数是出去1和它本身还有别的因数的数。二:寻找素数的一般实现假如我们要去寻找100以内的所有素数,那么很自然的我们就会有以下代码:def solve(n): primes = [] status = True for i in range(1, n): for j in range(2, i): if i % j == 0: status = Fals转载 2020-06-13 21:20:30 · 176 阅读 · 0 评论 -
leetcode把数字翻译成字符串
题目描述:给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法示例:输入: 12258输出: 5来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/ba-shu-zi-fan-yi-cheng-zi-fu-chuan-lcof分析:回溯法:看到这个题,我首先想到的是回溯原创 2020-06-09 15:12:19 · 613 阅读 · 0 评论 -
leetcode盛最多水的容器
题目描述:给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。示例:输入:[1,8,6,2,5,4,8,3,7]输出:49来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/container-with-most-water分析:双指针问题,我们可以设原创 2020-06-01 10:14:59 · 147 阅读 · 0 评论 -
leetcode括号匹配
题目描述:数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例:输入:n = 3输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]来源:力扣(LeetCode)分析:在给定n值后, 我们需要利用n个左括号和n个右括号进行排列组合,找出所有合法的情况。我们设置一个变量curr和一个列表res,curr记录当前组合情况,res记录所有合法结果。当我们向curr的末尾放置一个左括号时,只要左括号原创 2020-06-01 09:53:48 · 362 阅读 · 0 评论 -
leetcode和可被 K 整除的子数组
题目描述:给定一个整数数组 A,返回其中元素之和可被 K 整除的(连续、非空)子数组的数目示例:输入:A = [4,5,0,-2,-3,1], K = 5输出:7解释:有 7 个子数组满足其元素之和可被 K = 5 整除:[4, 5, 0, -2, -3, 1], [5], [5, 0], [5, 0, -2, -3], [0], [0, -2, -3], [-2, -3]分析:在开始分析之前,我们先假定一个数组变量pre_sum用来保存输入数组A的前n项和,例如pre_sum[0]表示A原创 2020-05-27 17:50:57 · 406 阅读 · 0 评论 -
寻找最长回文字符串
定义:回文字符串是将字符串逆序后和原字符串一样的字符串,就是正着读和反着读都一样的字符串。基本思路:给定一个字符串,寻找它的回文字符串,我的实现思路是使用回溯法,具体如下:首先选定一个点,使用两个变量left和right分别指向该点的左右两侧,如果left和right指向的字符串相等,那么left向左移动一位,right向右移动一位,继续判断,直到left和right不相等,此时left和right所组成的字符串就是回文字符串,判断回文字符串长度,如果大于result,就更换result的值,否则不更原创 2020-05-11 11:18:33 · 596 阅读 · 0 评论