数据结构与算法
冲
枷锁编程
京东Java开发工程师一枚,枷锁编程与你共同成长,欢迎大家点赞,收藏,关注!!!
展开
-
单调栈的保姆式教学(java)
739. 每日温度 难度中等827 请根据每日 气温 列表 temperatures ,请计算在每一天需要等几天才会有更高的温度。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: 输入: temperatures = [73,74,75,71,69,72,76,73] 输出: [1,1,4,2,1,1,0,0] 示例 2: 输入: temperatures = [30,40,50,60] 输出: [1,1,1,0] 示例 3: 输入: temperatures = [30,60,9..原创 2021-07-29 23:27:27 · 88 阅读 · 0 评论 -
关于bfs的总结
思路:使用LinkedList()创建队列存放节点,队列先加入一个根节点,进入循环,每次先得出本层元素个数,进入下一个将本层节点遍历从队列删除的循环,每删除一个节点,添加他的左子右子节点,为下一层的遍历做铺垫。 总结:初始化一个根节点加入队列后,对每层遍历,删除该层每个节点,加入下一层所有节点,直到队列删除所有节点。 ...原创 2021-07-27 22:34:32 · 64 阅读 · 0 评论 -
有关回溯算法(java)
思考:已经做的选择LIst path,boolean[] used还可以做的选择。(重点) 还可以做的选择一般用for循环里的索引控制i = start 注意:剪枝操作,需要排序后进行。 使用boolean数组用来记录某节点上层已选择记为true。 到达叶子节点return。 ...原创 2021-07-27 04:18:25 · 139 阅读 · 0 评论 -
88. 合并两个有序数组
今天是第一次写博客,我的目标是写出一些简洁、一阵见血的文章,正在努力的路上。 首先代码题要先把题意读懂 第一步,提取题目关键词: 1.输入两个有序数组nums2[]nums1[] 2.合并到nums1[],nums1[]还是一个有序数组,返回nums1[] 第二步:思考如何实现 1.主体思路是两个指针len1、len2从前往后或从后往前依次比较元素大小,每次比较后将或大或小的元素插入nums1[], 2.考虑清楚后接着思考两种情况,比较后是将较大的元素插入nums1[]的最后还是将较小的元素插入nums1原创 2021-07-07 14:56:35 · 91 阅读 · 0 评论