02 2021 档案
摘要:quicksort和第k小元素问题 1. 超好用的模板 int partition(int a[],int l,int r){ // 这里i 是l-1 ,不会越界,因为下面是++i, i会先加。j也会先减,因为是以右边的元素作为划分点。 int i = l-1, j=r; int v = a[r];
阅读全文
摘要:1. 思路 首先,将数组划分成2个子数组,可以取左点,右点,中间点,随机点。然后用2个指针去扫,将扫到的特定数据交换,然后再递归左边的子数组,右边的子数组。 不需要用到额外的存储空间,速度又快,所以是很优秀的排序,平均时间能达到nlogn,最差情况下能达到n平方。算法导论里面是已右端点来做划分的,但
阅读全文
摘要:1. 思路 其实就是模拟,加法是最简单的,从个位开始加,价位加到前一位,然后再取10的余数。 for (int i = 1; i <=len ; ++i) { // 计算和 c[i] += a[i]+b[i]; // 进位 c[i+1] = c[i]/10; // 取10的余数 c[i]%=10;
阅读全文
摘要:1. 概述 有好几种解法,比较常规的有2中,1是单调队列,队首存放最值。2是优先队列,top也是存放的最值。 2. 优先队列 class Solution { public: vector<int> maxSlidingWindow(vector<int>& nums, int k) { int n
阅读全文
摘要:1. 应用场景 字符串检索,查询 词频统计 字符串排序,插入的时候就是有顺序的,所以先序遍历,就得到字典树的排序。 前缀匹配 抄自<算法竞赛 入门进阶>,挺好的一本书。 2. c++实现 struct Trie{ Trie* next[26]; int num; Trie(){ for (int i
阅读全文
摘要:1. 标准构造函数 class IntCell{ public: IntCell(){ storedValue = 0; } IntCell(int initialValue){ storedValue = initialValue; } int read(){ return storedValue
阅读全文
摘要:快速幂 1. 主要思路 就是将运算次数减少,比如4次方的话不用乘4次,乘2次就可以了, 乘方,然后再乘方。 int fastPow(int a,int n){ if(n==1) return a; int temp = fastPow(a,n/2); // n是奇数 if (n%2 == 1) re
阅读全文
摘要:ingress 多域名 1. 没有指定host apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: test-ingress spec: defaultBackend: service: name: test port: nu
阅读全文