算法
软嵌物联集
软嵌物联集网站 daxprogram.com
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
面试合计京东2020C/C++问题
**题目描述 合唱队的N名学生站成一排且从左到右编号为1到N,其中编号为i的学生身高为Hi。现在将这些学生分成若干组(同一组的学生编号连续),并让每组学生从左到右按身高从低到高进行排列,使得最后所有学生同样满足从左到右身高从低到高(中间位置可以等高),那么最多能将这些学生分成多少组?** 输入 第一行包含一个整数N,1≤N≤105。 第二行包含N个空格隔开的整数H1到HN,1≤Hi≤109。 输出 输出能分成的最多组数。** 自我解析 对于这个题目,我第一眼也没看懂,在网上看到许多解析以及对于答案的解法,先原创 2021-10-30 18:09:13 · 213 阅读 · 0 评论 -
每日一题之力扣121题买卖股票 (动态规划)
给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。 输入:[7,1,5,3,6,4] 输出:5 解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是 7-原创 2022-02-10 15:23:26 · 272 阅读 · 0 评论 -
每日一题之力扣200.岛屿数量 (DFS)
岛屿问题DFS(深度优先遍历) 给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 输入 输入:grid = [ ["1","1","1","1","0"], ["1","1","0","1","0"], ["1","1","0","0","0"], ["0","0","0","0","0"] ] 输出:1 对于这类题目利用原创 2022-02-09 20:43:18 · 495 阅读 · 0 评论 -
力扣-剑offer 24 反转链表
链表反转经常考 一般就是我比较喜欢用双指针来反转链表这样好理解 一个指针 a 和一个指针b 用指针s来保存head->next 用指针 a来保存前边的链表 ListNode* reverseList(ListNode* head) { ListNode *a=NULL; ListNode *b=head; while(b) { ListNode *s=b->next; b->n原创 2022-01-26 21:06:37 · 258 阅读 · 0 评论 -
约瑟夫环 力扣
参考 力扣 剑指62 0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。 输入: n = 5, m = 3 输出: 3 本题可以用动态规划进行求解,主要是对于转移方程和初始状态的求解。 这里设f(n,m)的返回值为剩下最后的一个值,只要求解 f(n,m)和f(n-1,m)的关系就可以得出转移方程 输入 0 1 2 3 4 第一次去掉的是 m%n 也就是 3%5=3 第三个 从0开始数所以是2 然后下原创 2022-01-21 15:39:31 · 674 阅读 · 0 评论 -
力扣 142 判断链表是否有环
给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点,判断是否有环 在这里插入代码片class Solution { //快慢指针 public: ListNode *detectCycle(ListNode *head) { ListNode*a=head; ListNode*b=head; while(a!=NULL) { b=b->n原创 2022-01-16 19:58:59 · 332 阅读 · 0 评论
分享