LeetCode:最佳观光组合


题目

给你一个正整数数组 values,其中 values[i] 表示第 i 个观光景点的评分,并且两个景点 i 和 j 之间的 距离 为 j - i

一对景点(i < j)组成的观光组合的得分为 values[i] + values[j] + i - j ,也就是景点的评分之和 减去 它们两者之间的距离。

返回一对观光景点能取得的最高分。

阅读更多

LeetCode:删除字符串中的所有相邻重复项


题目

给出由小写字母组成的字符串 S, 重复项删除操作 会选择两个相邻且相同的字母,并删除它们。

在 S 上反复执行重复项删除操作,直到无法继续删除。

在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。

阅读更多

LeetCode:数字 1 的个数


题目

给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。

示例 1:

1
2
输入:n = 13
输出:6

示例 2:

1
2
输入:n = 0
输出:0
阅读更多

LeetCode:用栈实现队列


题目

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列的支持的所有操作(pushpoppeekempty):

实现 MyQueue 类:

  • void push(int x) 将元素 x 推到队列的末尾
  • int pop() 从队列的开头移除并返回元素
  • int peek() 返回队列开头的元素
  • boolean empty() 如果队列为空,返回 true ;否则,返回 false
阅读更多

LeetCode:比特位计数


题目

给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。

示例 1:

1
2
输入: 2
输出: [0,1,1]

示例 2:

1
2
输入: 5
输出: [0,1,1,2,1,2]
阅读更多

LeetCode:两数之和


题目

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

你可以按任意顺序返回答案。

阅读更多

Redis 配置统计字典:info 系统状态说明


命令说明

info 命令有三种用法:

  • info:部分 Redis 系统状态统计信息
  • info all:全部 Redis 系统状态统计信息
  • info {section}:某一块的系统状态统计信息,其中 {section} 可忽略大小写,参考值,如:memory 是查看内存信息。

info {section} 中的 {section} 包含如下:

模块名{section} 模块含义
server 服务器信息
clients 客户端信息
memory 内存信息
persistence 持久化信息
stats 全局统计信息
replication 主从复制信息
cpu CPU 消耗信息
commandstats 命令统计信息
cluster 集群信息
keyspace 数据库键统计信息
阅读更多

Redis:处理 bigkey


危害

  • 内存空间不均匀(平衡):如 Redis Cluster 中,bigkey 会造成节点的内存空间分布不均匀
  • 超时阻塞:由于 Redis 单线程的特性,操作 bigkey 会较耗时,意味着阻塞 Redis 可能性较大。
  • 网络阻塞:获取 bigkey 的网络传输较大,不仅影响客户端,而且影响其他节点;如:bigkey 为 1MB,每秒 1000次,每秒产生的流量 1000MB/s
阅读更多

Swoole 协程的思考-执行顺序


示例

情况一:非阻塞IO

1
2
3
4
5
6
7
8
9
10
11
12
<?php

go(function () {
echo 'AA'.date('Y-m-d H:i:s').PHP_EOL;
Co::sleep(1);
echo 'BBB'.date('Y-m-d H:i:s').PHP_EOL;
});

go(function () {
echo 'CC'.date('Y-m-d H:i:s').PHP_EOL;
echo 'DD'.date('Y-m-d H:i:s').PHP_EOL;
});
阅读更多

PHP 各版本特性:PHP 7.4.x


本文部分内容根据官网进行删减,仅整理常用特性。

新特性

类属性

类属性现在支持类型声明。

1
2
3
4
5
6
7
8
<?php

class User
{
public int $id;

public string $name;
}
阅读更多

CDN 科普


概述

含义

CDN 的全称是 Content Delivery Network,即内容分发网络。CDN 是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN 的关键技术主要有内容存储和分发技术。 —— 摘自《百度百科

阅读更多

Elasticsearch 入门


简介

什么是 Elasticsearch

  • 基于 Apache Lucene 构建的 开源搜索引擎
  • 采用 Java 编写,提供简单易用的 RESTful API
  • 轻松的 横向扩展,可支持 PB级 的结构化或非结构化数据处理
阅读更多

PHP 各版本特性:PHP 7.2.x


本文部分内容根据官网进行删减,仅整理常用特性。

新特性

新的对象类型

这种新的对象类型, object, 引进了可用于逆变(contravariant)参数输入和协变(covariant)返回任何对象类型。

1
2
3
4
5
6
7
8
<?php

function test(object $obj) : object
{
return new SplQueue();
}

test(new StdClass());
阅读更多

PHP 各版本特性:PHP 7.1.x


本文部分内容根据官网进行删减,仅整理常用特性。

新特性

可为空(Nullable)类型

参数以及返回值的类型现在可以通过在类型前加上一个问号使之允许为空。 当启用这个特性时,传入的参数或者函数返回的结果要么是给定的类型,要么是 null

阅读更多

PHPDoc 代码注释


规范注释

标准注释

1
2
3
4
5
6
7
8
9
<?php
/**
* 标题及说明
*
* @author 作者 <邮箱>
* @param 参数数据类型 参数变量 参数说明
*
* @return 返回数据类型 返回说明
*/
阅读更多