刷题笔记
皮学渣
学渣也想成为别人眼中的大佬*⸜( •ᴗ• )⸝*
展开
-
数组中出现次数超过一半的数字--水王数
数组中出现次数超过一半的数字题目讲解1.哈希表2.排序法3.相同增加,不同相减代码结果 题目 讲解 1.哈希表 这是我们应该最先想到的解题方法,我们将给的数组里的值当做哈希表中的键key,次数作为键值对应的结果。最后再判断哪个值大于数组的一半,就返回该键值key。 空间复杂度O(n),时间复杂度O(n); 2.排序法 他给我们一个数组,有个数次数大于数组长度的一半,所以我们将数组进行排序,中位数必然是我们要找到的结果。 排序就看你的排序算法怎么写了。 3.相同增加,不同相减 我们首先将数组的第一个值设置成原创 2021-12-02 19:47:30 · 1082 阅读 · 0 评论 -
剑指offer---判断二叉树是否为镜像
剑指offer---判断二叉树是否为镜像题目代码画图理解 题目 代码 #include <iostream> #include<queue> using namespace std; //构造二叉树结构 struct TreeNode { int val; TreeNode* left, * right; }; //先序创建二叉树 void Frist(TreeNode* pRoot) { int val; cin >> val;原创 2021-11-29 16:43:43 · 716 阅读 · 0 评论 -
牛客 买卖股票的最好时机 动态规划
牛客 买卖股票的最好时机 动态规划题目描述动态规划代码我自己写的 题目描述 描述 假设你有一个数组,其中第 i 个元素是股票在第i天的价格。 你可以买入一次股票和卖出一次股票(并非每天都可以买入或卖出一次,总共只能买入和卖出一次),问能获得的最大收益是多少。 数据范围: 0 \le n \le 10000 , 0 \le val \le 100000≤n≤10000,0≤val≤10000 要求:空间复杂度 O(1)O(1),时间复杂度 O(n)O(n) 示例1 输入:[1,4,2] 返回值:3 示例2 输原创 2021-10-18 17:30:11 · 162 阅读 · 0 评论