leetcode
Erroneous
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Leetcode 336.回文对 c++ 字典树
Leetcode 336.回文对 c++ 字典树 题目在这https://leetcode-cn.com/problems/palindrome-pairs/ 大意是给你给你一连串互相不一样(unique)的字符串,问哪两个字符串前后拼接在一起会是回文串(不能自己拼接自己) 思路是用trie树(字典树)。 不会trie树的去百度一下OTZ 很简单的就是一个储存字符串的结构 trie树部分代码 trie树的结构如下 注意节点的end默认为-1 如果不为-1就表示某个反串在这个节点结尾 struct node原创 2020-08-06 21:04:30 · 191 阅读 · 0 评论 -
leetcode 930 和相同的二元子数组
在由若干 0 和 1 组成的数组 A 中,有多少个和为 S 的非空子数组。 示例: 输入:A = [1,0,1,0,1], S = 2 输出:4 解释: 如下面黑体所示,有 4 个满足题目要求的子数组: [1,0,1,0,1] [1,0,1,0,1] [1,0,1,0,1] [1,0,1,0,1] 这道题我的处理方式就是先把原来的数组处理成这样一个数组:连续 0的个数,1,连续0的个数,1,连续...原创 2020-02-06 17:09:32 · 190 阅读 · 0 评论 -
Leetcode 146. LRU缓存机制
这道题的思路就是 用一个链表list来纪录最近访问key的优先级,越靠近头部的就是优先访问的,越靠近尾部的就是越久没被访问的。 询问一个key,如果不存在就返回-1,如果存在的话,因为这个key最近被访问过了,所以要在list中更新,把这个元素放到开头。 int get(int key) { auto it = m.find(key); if (it == m.end()) return ...原创 2020-01-29 15:34:06 · 145 阅读 · 0 评论 -
leetcode 279.完全平方数
一个数可以拆成至少几个数的平方数 这题有一个定理是四平方和定理 意思是每个数一定可以拆成4个整数的平方和 而当一个数可以被拆成四个非零整数的平方和时,一定会满足n=4^a*(8b+7) 所以思路为: 1 若这个数满足n=4^a*(8b+7) 那就返回4 2 否则 如果这个数正好是一个数的平方 那就返回1 3 否则 如果这个数是两个数的平方 那就枚举其中一个数 看另外一个数是不是完全平方数 如果有满...原创 2020-01-28 21:09:09 · 148 阅读 · 0 评论 -
leetcode 1300.转变数组后最接近目标值的数
枚举+二分 转变数组猴和目标值的差的绝对值的数组应该是一个先递减再递增最后不变的一个数组 根据单调性来二分 如果当前枚举的value求出来的距离是单调递减的话 那么左边的舍去 否则右边的舍去 代码如下 int sum(vector<int>&arr, int val) { int ret = 0; int n = arr.size(); for (int i = 0; i...原创 2020-01-28 19:03:26 · 347 阅读 · 0 评论 -
leetcode 93. 复原ip地址
题意就是给你一串数字 在里面加小数点 能恢复成正确的ip地址 要注意001 ,020 这样在数字前面出现0的ip地址是不合法的 就是简单的递归 代码如下 vector<string> ret; string temp; int n; void dfs(string &s,int depth,int cur_index) { if (depth == 4) { if (c...原创 2020-01-28 17:57:51 · 190 阅读 · 0 评论 -
leetcode 645.Set Mismatch
水题 给一个大小为n的无序数组 问从1-n哪个元素出现了两次 哪个元素没出现 bool vis[10005]; vector<int> findErrorNums(vector<int>& nums) { vector<int> ret; ret.clear(); int n = nums.size(); for (int i = 1; i &l...原创 2020-01-28 17:32:11 · 164 阅读 · 0 评论 -
leetcode 858. 镜面反射
这道题先写了暴力模拟 感觉特别麻烦 而且写得很乱 错了三次 就是当还没有射到角落里的时候 就不断反射 int mirrorReflection(int p, int q) { int wall = 0;//当前光线射在哪面墙上 int flag = 1; double dis = q; double tan_angle = double(p) / q; while (!reflect(w...原创 2020-01-28 17:25:07 · 168 阅读 · 0 评论 -
leetcode 65.有效数字
验证给定的字符串是否可以解释为十进制数字。 哎 比较坑的地方是".1"和"1."这样的也算是小数 是正确的 首先来分析有效数字是怎么构成的: (空格) 小数 (e 整数) (空格) 前后 空格是可有可无的 而e 整数 是指数的部分 也可以没有 没有这部分就说明原来的字符串是一个小数或者是整数 bool isNumber(string s) { int n = s.length(); int i...原创 2020-01-28 15:39:05 · 172 阅读 · 0 评论 -
Leetcode 628
给一个数组 求这个数组中任意三个数的最大乘积 刚开始写的时候想复杂了 要考虑负数正数还有0 写的代码如下 int maximumProduct(vector<int>& nums) { vector<int> pos, neg; pos.clear(); neg.clear(); bool has_zero = false; for (int i = 0;...原创 2020-01-28 14:32:08 · 201 阅读 · 0 评论
分享