- 博客(11)
- 收藏
- 关注
原创 数据结构与算法总结6(个人原创,带详细注释代码)
观察题目可知,在任意一个时刻,此问题的状态可以由两个数字决定:X 壶中的水量,以及 Y 壶中的水量。在任意一个时刻,我们可以且仅可以采取以下几种操作:把 X 壶的水灌进 Y 壶,直至灌满或倒空;把 Y 壶的水灌进 X 壶,直至灌满或倒空;把 X 壶灌满;把 Y 壶灌满;把 X 壶倒空;把 Y 壶倒空。因此,本题可以使用深度优先搜索来解决。搜索中的每一步以 remain_x, remain_y 作为状态,即表示 X 壶和 Y 壶中的水量。
2024-04-30 03:19:15
602
原创 数据结构与算法总结5(个人原创,带详细注释代码)
某一段区间会包含若干个非降序列,也就包含了若干个最后一个元素被删除的时刻,提示 3 中所需要计算的最大值必然在这些时刻中。
2024-04-30 03:16:08
341
原创 数据结构与算法总结4(个人原创,带详细注释代码)
比如[1,2],如果不加后哨兵,该序列没有输出,如果不加前哨兵,2输出面积后,栈中[1],这时1没有左边界,无法计算其面积换一种思路理解,我们要找每个柱子的左右边界,那么。
2024-04-30 03:14:09
870
原创 数据结构与算法总结3(个人原创,带详细注释代码)
贪心地模拟分割的过程,从前到后遍历数组,用 sum 表示当前分割子数组的和,cnt 表示已经分割出的子数组的数量(包括当前子数组),那么每当 sum 加上当前值超过了 x,我们就把当前取的值作为新的一段分割子数组的开头,并将 cnt 加 1。而在最大和为 18 时,只需要划分 2 段,比如 [7,2,5],[10,8]。比如nums = [1,2,2,2,3,4],旋转为[2,3,4,1,2,2]时候,第一个2与最后的2是相等的,无法判断是在最小值1的左侧还是右侧,二段性失效。请你找出并返回数组中的。
2024-04-30 03:10:22
694
1
原创 数据结构与算法总结2(个人原创,带详细注释代码)
给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1, -1]。你必须设计并实现时间复杂度为O(log n)的算法解决此问题。输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]输入:nums = [5,7,7,8,8,10], target = 6输出:[-1,-1]输入:nums = [], target = 0输出:[-1,-1]
2024-04-30 03:08:21
616
1
原创 CMU 15-445 2022 fall p0 p1
CMU 15-445 projects课程Slides&Notes15-445 & 数据库内核 - 知乎 (zhihu.com)Project #0 - C++ Primer完整代码//===----------------------------------------------------------------------===////// BusTub//// p0_trie.h//// Identificati
2024-04-30 02:35:56
764
转载 python3 字符串 hex 相互转换 代替python2 decode(‘hex’)
在python 3环境上,因为string和bytes的实现发生了重大的变化,这个转换也不能再用encode/decode完成了。2.python3.5之前。3.python 3.5后。
2023-03-19 18:19:28
668
1
转载 C++中cin.get和cin.getline的区别是?
分为三种情况来看:1)输入的字符串不超过限定大小get(str,Size):读取所有字符,遇到’\n’时止,并且将’\n’留在输入缓冲区中,其将被下一个读取输入的操作捕获,影响该输入处理;getline(str,Size):读取所有字符,遇到’\n’时止,并且将’\n’直接从输入缓冲区中删除掉,不会影响下面的输入处理。2)输入的字符数超出限定的大小get(str,Size):读取Size...
2019-06-10 15:48:54
596
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人