算法题
居贝比
某个来自南京的菜鸟
展开
-
leetcode·动态规划
目录1、动态规划 1、动态规划 设计思路: 分析优化解的结构 递归地定义最优解的代价 自底向上地计算优化解的代价保存之,并获取构造最优解的信息 根据构造最优解的信息构造优化解 53. 最大子数组和 输入:nums = [-2,1,-3,4,-1,2,1,-5,4] 输出:6 解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。 746. 使用最小花费爬楼梯 输入:cost = [1,100,1,1,1,100,1,1,100,1] 输出:6 解释:你将从下标为 0 的台阶开始。 支付 1 ,向原创 2022-03-28 20:46:06 · 496 阅读 · 0 评论 -
leetcode·单调栈
例题 力扣2104. 子数组范围和 单调栈介绍原创 2022-04-08 11:06:38 · 108 阅读 · 0 评论 -
leetcode·双指针
704. 二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 nums 中并且下标为 4 示例 2: 输入: nums = [-1,0,3,5,9,12], target = 2 输出: -1 解释: 2 不存在 nums 中因此返回 -1 思路: 代码:原创 2021-10-07 13:57:54 · 106 阅读 · 0 评论 -
算法注意点!!!!
1、string 数组 string x[105]; for(int i = 1 ; i < = n ; i ++) cin>>x[i]; 其中, 行是从1开始输入,但是每一行,都是从0开始读入的!!!! 每次自动输入一行,每行从0开始!!!!原创 2021-04-07 18:48:44 · 96 阅读 · 1 评论 -
P1036 [NOIP2002 普及组] 选数
题目描述 已知 n个整数 以及1 个整数k(k<n)。从n 个整数中任选k 个整数相加,可分别得到一系列的和。 例如当n=4,k=3 4个整数分别为3,7,12,19 时,可得全部的组合与它们的和为: 3+7+12=22 3+7+19=29 7+12+19=38 3+12+19=34 现在,要求你计算出和为素数共有多少种。 例如上例,只有一种的和为素数:3+7+19=29 。 #include<iostream> #include<algorithm> #incl原创 2021-04-06 15:02:30 · 242 阅读 · 1 评论 -
C++自定义sort排序
1.sort简介: 在头文件 < algorithm>中 (1)用于C++中,对给定区间所有元素进行排序; (2)使用的排序方法是类似于快排的方法,时间复杂度为n*log2(n) 可以自定义对结构体按照需要进行定义排序 例如 按照关键字顺序:年龄>工号>姓名,从小到大。 struct man { int g,age; //工号,年龄 string name;//姓名 }; bool operator < (const man& m1 , const原创 2021-03-09 14:04:09 · 669 阅读 · 0 评论 -
大数相加
题目描述 实现一个加法器,使其能够输出a+b的值。 输入描述: 输入包括两个数a和b,其中a和b的位数不超过1000位。 输出描述: 可能有多组测试数据,对于每组数据, 输出a+b的值。 示例1 输入 2 6 10000000000000000000 10000000000000000000000000000000 输出 8 10000000000010000000000000000000 思路: 用string保存输入的两个数,逆序保存在两个int数组中,再从0开始相加进位,逆序输出即可 #includ原创 2021-03-08 13:28:58 · 82 阅读 · 0 评论