philos
philos
全部文章
分类
未归档(12)
题解(63)
归档
标签
去牛客网
登录
/
注册
philos的博客
TA的专栏
75篇文章
0人订阅
算法题解
64篇文章
1825人学习
复旦历年机考题解
11篇文章
643人学习
全部文章
(共75篇)
打印极值点下标
来自专栏
思路 遍历比较一遍就好了 #include<iostream> #include<vector> using namespace std; int main(){ int n; while(cin >> n){ vector&l...
2021-02-08
0
464
中位数
来自专栏
思路 使用快排思路就可以了,首先我们来回顾一下快速排序,这是一个典型的分治算法。我们对数组 做快速排序的过程是: 分解: 将数组 「划分」成两个子数组 、,使得 中的每个元素小于等于 ,且 小于等于 中的每个元素。其中,计算下标 q 也是「划分」过程的一部分。 解决: 通过递归调用快速排序...
2021-02-07
2
633
小老鼠排队
来自专栏
思路 重载一下运算符使得可以从大到小排序就好了 #include<iostream> #include<vector> #include<algorithm> using namespace std; struct Rat{ int weight; ...
2021-02-07
4
500
全排列
来自专栏
思路 递归回溯问题,例如 abc,我们可以在每一次递归的时候把某一个字母放到最前面,就是 swap 一下,就变成了分别从 abc、bac、cba 开始的字符串,然后后面的两个字母也可以选择任意一个放到“开头”,以此类推 #include<iostream> #include<vec...
2021-02-07
0
641
单词替换
来自专栏
思路 因为直接使用 find 的话不是单词也可能匹配到,所以在 a,b 前面加了空格,主要使用了 C++ 库函数的 erase(pos, len),清楚 pos 开始的长度为 len 的子串,insert(pos, b) 在 pos 位置插入字符串 b #include <iostream&g...
2021-02-06
88
1825
二叉树
来自专栏
思路 如果是普通的二叉树,求公共父节点的话,就是遍历某个根节点的左右子树,看看这两个节点是否在一棵子树上,在的话就继续遍历子树,不在的话就直接返回根节点。 而这道题,很容易看出来一个节点 i 的父节点就是 i/2,那就很简单了,不断除以 2 直到相等就好了。 #include<iostream...
2021-02-06
0
553
吃糖果
来自专栏
思路 其实就是走楼梯问题,设 dp[n] 为吃 n 块巧克力的方案,那要么最后剩两块一口气吃完或者最后剩一块一口气吃完,也就是 dp[n] = dp[n - 1] + dp[n - 2],初始值 dp[1] = 1,dp[2] = 2,因为太简单我就直接写 O(1) 空间复杂度的解法了。 #incl...
2021-02-06
0
545
与7无关的数
来自专栏
思路 最简单的方法就是一个个地进行判断是否与 7 有关 #include<iostream> using namespace std; bool isRelative(int num){ if(num % 7 == 0) return false; while(num...
2021-02-06
6
561
Skew数
来自专栏
思路 题干无力吐槽,借用一下讨论中的更正: 在 skew binary 表示中,第 k 位的值 x[k] 表示 x[k]×(2^(k+1)-1)。每个位上的可能数字是 0 或 1,最后面一个非零位可以是 2,例如,10120(skew) = 1×(2^5-1) + 0×(2^4-1) + 1×(2^...
2021-02-06
0
645
谁是你的潜在朋友
来自专栏
思路 其实就是存一下每个人喜欢哪一本书,然后每本书对应有几个人喜欢就好了,潜在朋友就是喜欢这本书的人数减一。 #include<iostream> #include<vector> using namespace std; int main(){ int n, m...
2021-02-06
1
665
首页
上一页
1
2
3
4
5
6
7
8
下一页
末页