队列的例题和总结 0. 目录 栈实现队列 队列实现栈 滑动窗口最大值 1. 栈实现队列 FIFO和FILO,相当于+-号,互转都是利用"负负得正"的原理. 官方解答中第二种思路很6,按需反转,这样摊还分析下来,复杂度变成了O(1) class MyQueue { private: stack<int> s1; stack<int> s2; public: /** Initialize your data structure here. */ MyQueue()…
常规题总结 0. 目录 两数之和 1. 两数之和 耗时4ms(98.82%),内存6.2m. 两数之和--寻找中值向两边扩散法 1.1 思路 思路很简单,就是先找数组中target/2的前后两个值,然后慢慢向两边扩散. 1.2 示例 [0,2,4,5,8] target为7 先找7/2=3.5前后的,也就是2和4这两个,获取其指针,front指向2,back指向4 2+4<7,所以back++,也就是指向5 2+5==7,所以成功返回 1.3 源码 int* twoSum(int* number…
链表的例题和总结 0. 目录 环形链表 1. 环形链表 题目: https://leetcode-cn.com/problems/linked-list-cycle/ 看了别人的思路真是感概万千,思路这个东西啊,哈哈哈 官方方法1: 哈希表 官方方法2: 快慢指针 奇葩方法1: 标记访问过的节点(会破坏链表) 奇葩方法2: 倒因为果法 1.1 哈希表 略 1.2 快慢指针 思路就是田径场的追击问题, 如果有环, 那么跑得快的一定会碰到跑的慢的. 跑得快的一次走两步, 跑得慢的走一步. fast=…
堆和优先队列 堆的简介, 是一种二叉树, 有最大堆和最小堆miniheap. 通常用于构建优先队列. 0. 目录 数据流中的第K大元素 1. 数据流中的第K大元素 数据流中的第K大元素 复杂度为log2(N) class KthLargest { private: priority_queue<int, vector<int>, greater<int> > buf;//最小堆 int mk; public: KthLargest(int k, vector<in…
栈的例题和总结 0. 目录 有效的括号 栈实现队列(这个参见队列) 1. 有效的括号 static int top = 0; static char* buf = NULL; void stack(int size){ top = size; buf = (char*)malloc(size+1); buf[size] = '\0'; } void push(char c) {buf[--top] = c; } char pop() {return buf[top++];} bool isVal…
1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组中同一个元素不能使用两遍. 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1] class Solution: #哈希 def twoSum(self, nums: List[int], tar…
因为灵巧实在太弱辽不得不做点noip续下命QQAQQQ 2018 积木大赛/铺设道路 傻逼原题? 然后傻逼的我居然检查了半天是不是有陷阱最后花了差不多一个小时才做掉我做过的原题...真的傻逼了我:( #include<bits/stdc++.h> using namespace std; #define ll long long #define rp(i,x,y) for(register ll i=x;i<=y;++i) +; ll n,d[N],ans; inline ll read…
[T1] [简要题意]   长度为N的括号序列,随机确定括号的方向:对于一个已确定的序列,每次消除相邻的左右括号(右左不行),消除后可以进一步合并和消除直到不能消为止.求剩下的括号的期望.\(N \leq 2000\),保留三位小数. [做题过程]   看上去一道傻逼题,又让我涨姿势了.   直接按长度DP咯?仔细一想,要记录一直延续至今的待消左括号个数,所以起码是二维.所以就是 \(F_{i,j}\) 表示处理了前i个点,目前有j个待消的左括号.写了一半我才发现一个问题, $F_{i,j} $…
C#版 - Leetcode 504. 七进制数 - 题解 Leetcode 504. Base 7 在线提交: https://leetcode.com/problems/base-7/ 题目描述 给定一个整数,将其转化为7进制,并以字符串形式输出. 示例 1: 输入: 100 输出: "202" 示例 2: 输入: -7 输出: "-10" 注意: 输入范围是 [-1e7, 1e7] .   ●  题目难度: 简单 通过次数:707 提交次数:1.8K 贡献者:…
Array 448.找出数组中所有消失的数 要求:整型数组取值为 1 ≤ a[i] ≤ n,n是数组大小,一些元素重复出现,找出[1,n]中没出现的数,实现时时间复杂度为O(n),并不占额外空间 思路1:(discuss)用数组下标标记未出现的数,如出现4就把a[3]的数变成负数,当查找时判断a的正负就能获取下标 tips:注意数组溢出 public List<Integer> findDisappearedNumbers(int[] nums) { List<Integer> d…