首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    给定一个数组 prices ,它的第 i 个元素 prices 表示一支给定股票第 i

    给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择某一天 买入这只股票,并选择在未来的某一个不同的日子卖出该股票。...设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。 福大大 答案2021-07-04: 一次遍历法。...遍历的时候,记录最小值,然后收集所有的【prices[i]-最小值】,其中的最大值就是需要返回的值。 时间复杂度:O(N)。空间复杂度:O(1)。 代码用golang编写。..., 3, 6, 4} ret := maxProfit(arr) fmt.Println(ret) } func maxProfit(prices []int) int { N...:= len(prices) if N <= 1 { return 0 } ans := 0 min := prices[0] for i :=

    68020

    2025-01-14:K 秒后第 N 个元素的值。用go语言,给定两个整数 n 和 k,我们开始时有一个长度为 n 的整数数组

    2025-01-14:K 秒后第 N 个元素的值。用go语言,给定两个整数 n 和 k,我们开始时有一个长度为 n 的整数数组 a,其中每个元素均为 1。...在每秒的更新中,数组的每个元素都会被其前面所有元素的和与自身相加。...我们需要计算经过 k 秒后,a[n - 1] 的值,并将其对 1000000007 取模,然后返回结果。 1 n, k <= 1000。 输入:n = 4, k = 5。 输出:56。...3. pow 函数用来计算 x 的 n 次方的结果,并且对 mod 取模。这个函数会在计算逆元的过程中使用。 4. valueAfterKSeconds 函数用来计算经过 k 秒后第 n 个元素的值。...首先计算出当前数组的值,然后按照规则更新数组 n+k-1 次,最终返回 a[n-1] 的值对 mod 取模的结果。

    6110

    给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获

    给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。...注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 福大大 答案2021-07-06: 一次遍历法。 时间紧,请直接看代码。 时间复杂度:O(N)。空间复杂度:O(1)。..., 1, 9, 3} ret := maxProfit(arr) fmt.Println(ret) } func maxProfit(prices []int) int { N...:= len(prices) if N < 2 { return 0 } ans := 0 doneOnceMinusBuyMax := -prices[...0] doneOnceMax := 0 min := prices[0] for i := 1; i N; i++ { min = getMin(min, prices

    90720

    2024-08-31:用go语言,给定一个数组apple,包含n个元素,每个元素表示一个包裹中的苹果数量; 另一个数组capac

    2024-08-31:用go语言,给定一个数组apple,包含n个元素,每个元素表示一个包裹中的苹果数量; 另一个数组capacity包含m个元素,表示m个不同箱子的容量。...有n个包裹,每个包裹内装有指定数量的苹果,以及m个箱子,每个箱子的容量不同。 任务是将这n个包裹中的所有苹果重新分配到箱子中,最小化所需的箱子数量。...需要注意的是,可以将同一个包裹中的苹果分装到不同的箱子中。 需要计算并返回实现这一目标所需的最小箱子数量。 输入:apple = [1,3,2], capacity = [4,3,1,5,2]。...解释:使用容量为 4 和 5 的箱子。 总容量大于或等于苹果的总数,所以可以完成重新分装。 答案2024-08-31: chatgpt 题目来自leetcode3074。...• 如果 s 大于 0,继续尝试将苹果放入下一个箱子,更新 s 为剩余苹果的数量。 5.如果循环结束时仍未返回箱子数量,说明无法将所有苹果重新分装到箱子中,返回 -1。

    10020

    2025-01-23:统计逆序对的数目。用go语言,给定一个整数 n 和一个二维数组 requirements,其中每个元素 r

    用go语言,给定一个整数 n 和一个二维数组 requirem)ents,其中每个元素 requirements[i] = [endi, cnti] 表示在要求中末尾的下标以及逆序对的数量。...任务是返回所有可能的数组排列 perm = [0, 1, 2, ..., n - 1] 的数量,使得对于所有的 requirements,都满足 perm[0..endi] 中恰好有 cnti 个逆序对...解释: 两个排列为: [2, 0, 1] 前缀 [2, 0, 1] 的逆序对为 (0, 1) 和 (0, 2) 。 前缀 [2] 的逆序对数目为 0 个。...[1, 2, 0] 前缀 [1, 2, 0] 的逆序对为 (0, 2) 和 (1, 2) 。 前缀 [1] 的逆序对数目为 0 个。...2.编写函数 numberOfPermutations(n, requirements) 来计算符合要求的排列数量。 3.初始化一个要求映射 reqMap,记录每个末尾下标及其逆序对数量的要求。

    6820

    2024-12-11:数组最后一个元素的最小值。用go语言,给定两个整数 n 和 x,构造一个长度为 n 的正整数数组 nums

    2024-12-11:数组最后一个元素的最小值。用go语言,给定两个整数 n 和 x,构造一个长度为 n 的正整数数组 nums,使得数组中相邻元素递增且所有元素按位与的结果为 x。...返回可能的最小 nums 数组中的最后一个元素的值。 1 n, x <= 100000000。 输入:n = 3, x = 4。 输出:6。...解释: 数组 nums 可以是 [4,5,6] ,最后一个元素为 6 。 答案2024-12-11: chatgpt[1] 题目来自leetcode3133。...大体步骤如下: 1.计算变量 bitCount,表示 n 和 x 转换为二进制后的位数差。 2.设置初始解 res 为 x,并初始化另一个变量 m 为 n - 1。...5.返回最终的 res 值,即可能的最小 nums 数组。 总体时间复杂度: • 该算法的时间复杂度取决于 bitCount,即 O(bitCount)。

    7720

    【leetcode】#542.01 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离

    题目描述: 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。...给定矩阵中至少有一个元素是 0。 矩阵中的元素只在四个方向上相邻: 上、下、左、右。...一、创建矩阵 示例:创建一个根据行列,创建数组,并填入数字; let col = 3; //列数 let row = 3; //行数 let matrix = []; //创建一个数组存储空间 let...//获取矩阵的行数 let col = matrix[0].length; //获取矩阵的列 var temp = [];//创建一个数组存储空间 for(var i = 0; i...let col = matrix[0].length; //获取矩阵的列 var temp = [];//创建一个数组存储空间 for(var i = 0; i < row; i++){ temp

    91120

    数据结构和算法面试题:给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

    数据结构和算法面试题:给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。...简介:给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。...该算法的实现思路如下: 使用一个变量ans存储最终的答案,使用一个变量cur存储当前的连续子数组和。 遍历整个数组,对于每一个数字,更新cur为它自身和(cur + nums[i])之间的较大值。...遍历完数组后,返回ans作为最大子数组和。...由于只有一层循环,该算法的时间复杂度为 O(n)。

    4810
    领券