算法-数据结构 关于算法-数据结构:Leetcode-322-零钱兑换 给你一个整数数组 coins ,示意不同面额的硬币;以及一个整数 amount ,示意总金额。计算并返回能够凑成总金额所需的 起码的硬币个数 。如果没有任何一种硬币组合能组成总金额,返回 -1 。你能够认为每种硬币的数量是有限的。示例 1:输出:coins = [1, 2, 5], amount = 11输入:3 解释:11 = 5 + 5 + 1示例 2:输出:co…
算法-数据结构 关于算法-数据结构:Leetcode-122-买卖股票的最佳时机-II 给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你能够尽可能地实现更多的交易(屡次交易一支股票)。留神: 你不能同时参加多笔交易(你必须在再次购买前发售掉之前的股票)。示例 1:输出: prices = [7,1,5,3,6,4]输入: 7解释: 在第 2 天(股票价格 = 1…
算法-数据结构 关于算法-数据结构:Leetcode-121-买卖股票的最佳时机 给定一个数组 prices ,它的第 i 个元素 prices[i] 示意一支给定股票第 i 天的价格。你只能抉择 某一天 买入这只股票,并抉择在 将来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你能够从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例 1:输出: [7,1,5,3,6,4]输…
算法-数据结构 关于算法-数据结构:关于最长公共子序列的动态规划算法分析 示例引出:给定序列\( X = \{A, B, C, B, D, A, B\} \)和 \( Y = \{B, D, C, A, B, A\} \),要求找出它们的最长公共子序列。
算法-数据结构 关于算法-数据结构:算法笔记三插入排序 在之前,咱们探讨了冒泡排序,其算法外围,就是:相邻两数顺次比拟,让较大的值缓缓浮出水面,达到其适合的地位,使数组变得有序。也能够说,冒泡排序就是顺次从高到低确认元素的地位。在工夫复杂度上为稳固的 O(n²)
算法-数据结构 关于算法-数据结构:LeetCode039组合总和 题目形容:给定一个无反复元素的数组 candidates 和一个指标数 target ,找出 candidates 中所有能够使数字和为 target 的组合。candidates 中的数字能够无限度反复被选取。阐明:所有数字(包含 target)都是正整数。解集不能蕴含反复的组合。示例阐明请见LeetCode官网。起源:力扣(LeetCode) 链接:[链接] 著作权归…
算法-数据结构 关于算法-数据结构:串朴素模式匹配算法实现 include<stdio.h>include<stdlib.h>include<stdbool.h>define MAXSTRLEN 255// 存储构造typedef unsigned char SString[MAXSTRLEN + 1];// 奢侈匹配模式int Index(SString S, SString T, int pos){ {代码…} }bool StrAssign(SString str, char *src){ {代码…} }void main(){ {代码…} }
算法-数据结构 关于算法-数据结构:看动画学算法之平衡二叉搜索树AVL-Tree 考虑一下二叉搜寻树的非凡状况,如果一个二叉搜寻树所有的节点都是右节点,那么这个二叉搜寻树将会进化成为链表。从而导致搜寻的工夫复杂度变为O(n),其中n是二叉搜寻树的节点个数。