heyJulian
heyJulian
全部文章
题解
读书笔记(2)
归档
标签
去牛客网
登录
/
注册
heyJulian的博客
世间最昂贵不可储存的东西是时间,要么用以积累,要么用以老去。
全部文章
/ 题解
(共5篇)
新集合 牛客编程巅峰赛S1第11场 - 青铜&白银
暴力出所有的可能集合,再与要求的限制作比较。最终求出能组成的新集合数量。 有n个元素,每个元素都有取与不取的两种可能,所以应该是2^n个. 因为n<=20,故至多有10^6个集合,我们可以采用暴力搜索。 因为要遍历出所有的取值情况,我们使用回溯来解决此类问题。...
回溯
2020-08-14
3
771
牛牛的01游戏 牛客编程巅峰赛S1第11场 - 青铜&白银
新建一个数组res,用于保存结果。 新建一个pos下标,用于指向数组res的最新元素的位置。 循环遍历一次输入数组str: 1.当res的第pos个元素和str的第i个元素都等于1,删除res的第pos个元素 并pos减一; &...
模拟
2020-08-14
2
864
中序序列 牛客编程巅峰赛S1第9场 - 青铜&白银
我们知道,只想知道一棵树的前序遍历和后序遍历是求不出中序遍历的。但是,因为题目多了一个条件【若某节点只有一个子结点,则此处将其看作左儿子结点】。所以可以求出唯一的一个中序遍历。 在二叉树的前序遍历中,第一个数字总是树的根结点,根结点右边的第一个结点总是左儿子结点。在该二叉树的后序遍历中,知道了该根结...
树
中序遍历
2020-08-07
5
884
牛牛的木板 牛客编程巅峰赛S1第9场 - 青铜&白银
对于每个r找到一个l使得【l,r】中0的个数小于等于m,当r右移的时候,l可能不动可能会跟着右移。当滑动窗口内黑色段的长度大于m时【清洗剂最多只能清洗m段】,l 需要右移。并随时更新当前窗口内的能获得的纯白色木板的最大长度和区间内黑色段的长度。时间复杂度为O(n)。 import java.util...
滑动窗口
2020-08-07
5
779
牛牛的字符反转 牛客编程巅峰赛S1第9场 - 青铜&白银
这道题最直观的解法并不难,需要我们分情况判断一下所有的情况。 举个例子“1234567”。循环右移的所有情况为7123456、6712345、5671234、4567123、3456712、2345671、1234567。 我们来看看所有情况所需的最少区间反转次数。 1234567->654...
2020-08-07
2
778