文章 2024-08-06 来自:开发者社区

【Leetcode刷题Python】改进的算法,高效求一个数的因子

1 思路 不用全部遍历,只遍历1到根号(n)的范围即可。当i是可以整除的,用n/i得到的是相对另一个因子。时间复杂度$O(n^{1/2})$ 2 实现 import math def low_fac(n): ans = [] for i in range(1,int(math.sqrt(n))): if n%i=...

文章 2024-08-06 来自:开发者社区

【Leetcode刷题Python】矿泉水问题

深信服公司的算法笔试题 1 题目 小明横穿沙漠,需要携带至少x毫升的水。 有两种规格的矿泉水可供选购:小瓶矿泉水每瓶500ml,价格a元。大瓶矿泉水每瓶1500ml,价格b元。 小明打算买一些矿泉水用于横穿沙漠,为了保证至少买到x毫升的水,小明至少需要花费多少钱? 输入描述: 第一行一个正整数t(t...

文章 2024-08-06 来自:开发者社区

【Leetcode刷题Python】子数组查找

深信服公司的算法笔试题 1 题目 一个重复字符串是由两个相同的字符串首尾拼接而成,例如abcabc便是长度为6的一个重复字符串,而abcba则不存在重复字符串。给定任意字符串,请帮小强找出其中的最长重复子串。示例 输入“ababc”输出4说明abab为最长的重复字符子串,长度为4 2 解析 子串问题一般都是用滑动窗口解决,...

文章 2024-08-06 来自:开发者社区

【Leetcode刷题Python】百分号解码

深信服公司的算法笔试题 1 题目 在URL字符串中,如果百分号%后面跟了两个十六进制数字,那么它表示相应ASCII值所对应的字符,如%2F表示’/‘,%32表示’2’。%编码还可以进行嵌套,如%%32F可以解码成%2F,再进一步解码成/。如果没有任何百分号后面跟的是两个十六进制数字则无法再进行解码。 现在有一系列...

文章 2024-08-06 来自:开发者社区

【Leetcode刷题Python】309. 最佳买卖股票时机含冷冻期

1 题目 给定一个整数数组prices,其中第 prices[i] 表示第 i 天的股票价格 。​ 设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票): 卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。注意:你不能同时参与多笔交易(你必须在...

文章 2024-08-06 来自:开发者社区

【Leetcode刷题Python】121. 买卖股票的最佳时机

1 题目 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。 示例 1: 输入ÿ...

文章 2024-08-06 来自:开发者社区

【Leetcode刷题Python】64. 最小路径和

1 题目 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例 1: 输入:grid = [[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径 1→3→1→1→1 的总和最小。 2 解析 用一个一位数组来存储每一行到最右下角的最小路径总和,一行存储...

【Leetcode刷题Python】64. 最小路径和
文章 2024-08-06 来自:开发者社区

【Leetcode刷题Python】518. 零钱兑换 II

1 题目 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带符号整数。 示例 1: 输入:amount = 5, coins =...

文章 2024-08-06 来自:开发者社区

【Leetcode刷题Python】322. 零钱兑换

1 题目 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount ,表示总金额。 计算并返回可以凑成总金额所需的 最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。 你可以认为每种硬币的数量是无限的。 示例 1: 输入:coins = [1, 2, 5], amount = 11输出:3解释:11 = 5 + 5 + 1 2 解析...

【Leetcode刷题Python】322. 零钱兑换
文章 2024-08-06 来自:开发者社区

【Leetcode刷题Python】53. 最大子数组和

1 题目 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 示例 1: 输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1]...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

Python学习站

Python学习资料大全,包含Python编程学习、实战案例分享、开发者必知词条等内容。

+关注
相关镜像