摘要:
题解 容易想到的方案是先排序,然后遍历求得缺的最小整数。排序算法中常用的基于比较的方法时间复杂度的理论下界为 O(nlogn), 不符题目要求。常见的能达到线性时间复杂度的排序算法有 基数排序,计数排序 和 桶排序。 基数排序显然不太适合这道题,计数排序对元素落在一定区间且重复值较多的情况十分有效, 阅读全文
摘要:
中文文件名乱码(git status、git log、git pull 、git push) ls 显示中文文件乱码(C:\Program Files\Git\etc\git-completion.bash) 输入中文(C:\Program Files\Git\etc\inputrc) 中文Comm 阅读全文
摘要:
PHP mt_rand() 函数 定义和用法 mt_rand() 使用 Mersenne Twister 算法返回随机整数。 语法 说明 如果没有提供可选参数 min 和 max,mt_rand() 返回 0 到 RAND_MAX 之间的伪随机数。例如想要 5 到 15(包括 5 和 15)之间的随 阅读全文
摘要:
题解1 - 自左向右 容易想到的一个办法是自左向右遍历,使用right保存大于等于 k 的索引,i则为当前遍历元素的索引,总是保持i >= right, 那么最后返回的right即为所求。 C++: 源码分析 自左向右遍历,遇到小于 k 的元素时即和right索引处元素交换,并自增right指向下一 阅读全文
摘要:
切换服务器步骤: 1、购买好云服务器,并同步好镜像2、配置好Jenkins并同步代码3、测试下能否正常访问4、负载均衡器把刚购买的服务器加上去5、设置好权重6、观察nginx日志 有一台服务器需要换成内网的,下面说明一下切换流程,以阿里云为例 【购买ECS服务器】 创建一个跟旧的服务器配置一样的服务 阅读全文
摘要:
SSL证书:SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书。SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。 SSL证书切换步骤(新增类似): 【证书购买】 阅读全文
摘要:
A:为什么MySQL数据库要用B+树存储索引? Hash的查找速度为O(1),而树的查找速度为O(log2n),为什么不用Hash作为数据库的存储索引呢? 树的话,无非就是前中后序遍历、二叉树、二叉搜索树、平衡二叉树,更高级一点的有红黑树、B树、B+树。 【红黑树】 红黑树也是平衡树中的一种,它复杂 阅读全文
摘要:
题解1 - 左右分治 根据题意,有 result[i]=left[i]⋅right[i], 其中 left[i]=∏j(从左到右累乘), right[i]=∏j(从右到左累乘). 即将最后的乘积分为两部分求解,首先求得左半部分的值,然后求得右半部分的值。最后将左右两半部分乘起来即为解。 C++: 源 阅读全文
摘要:
首先可以想到逐步移位,但是这种方法显然太浪费时间,不可取。下面介绍利器『三步翻转法』,以[4, 5, 1, 2, 3]为例。 由以上3个步骤可知其核心为『翻转』的in-place实现。使用两个指针,一个指头,一个指尾,使用for循环移位交换即可 JAVA: C++: 源码分析 首先找到分割点,随后分 阅读全文
摘要:
题 Zero Sum Subarray | Data Structure and Algorithm 的变形题,由于要求的子串和不一定,故哈希表的方法不再适用,使用解法4 - 排序即可在 O(nlogn) 内解决。具体步骤如下: C++: 源码分析 为避免对单个子串和是否为最小情形的单独考虑,我们可 阅读全文