素数相关力扣题目总结
写在前面
基本问题
技巧
这类题需要预处理, 将处理好的素数数组作为全局变量, 可以节省一大部分时间.
全局变量初始化的便捷方法可以用 lambda, 算是一个不错的技巧了(在 C++中 main 函数之前执行的函数也用到了这一技巧), 即:
// global variable declare here
int _ = []{ // golbal variable need not capture in lambda
// init something...
return 0;
}();
这里给出预处理某一范围内的素数的通用模板: (欧拉筛法, 又称线性筛法)
constexpr int MX = 1e6;
int primes[MX], cnt{};...
C++类内弹性数组的使用技巧
class P {
public:
int x;
int array_[1]; // Must be declared at the end of the class
};
这里就体现了使用 new 和 malloc 的一个不同, 即 new 不能指定所分配的具体内存大小, 只能让编译器根据对象所占内存的大小来推断(计算), 如果非要指定(并且不是通过 array-new 的方式)那就要用 placement-new 方法. 代码如下:
void t1() {
cout << "sizeof(P)=" << sizeof(P) << endl; // 8
// 24=4+5*4, array_.size=5
...
Clang和 gnu++的区别
默认初始值
#include <bits/stdc++.h>
using namespace std;
void f(int* x) {
cout << x << endl;
cout << *x << endl;
cout << *(x + 1) << endl;
}
int main(int argc, char* argv[]) {
//
int x[0]{};
#ifdef __clang__
// clang
cout << "clang++:\n";
f(x);
#endif
// clang++:
// 0x1...
Golang学习笔记_方法
写在前面
练习, Stringer
Go 语言之旅;
package main
import "fmt"
type IPAddr [4]byte
// TODO: 给 IPAddr 添加一个 "String() string" 方法
func (ip IPAddr) String() string {
return fmt.Sprintf("%d.%d.%d.%d", ip[0], ip[1], ip[2], ip[3])
}
func main() {
hosts := map[string]IPAddr{
"loopback": {127, 0, 0, 1},
"googleDNS": {8, 8, 8, 8},
}
for name, ip...
Golang学习笔记_基础语法,数组,切片,,映射,闭包
写在前面
后端, 得开始看看 Go 语言了, 感觉还挺好玩的, 试试.
虽然距离秋招的时间不多了…
教程就是官网的 Tour of Go, 我看的中文版, 还可以, 很详细.
数组
切片
练习题:
Go 语言之旅;
package main
import (
"math"
"golang.org/x/tour/pic"
)
func f(x int, y int) int {
_ = math.Log // placeholder
// return (x + y) / 2
// return x * y
// return x ^ y
// return x * int(math.Log(float64(y))) // cast
...
配置clangd使用指定的c++标准
方法
下面内容均写入在项目根目录下的.clangd 文件中
指定C++标准
CompileFlags:
Add: [-std=c++20]
这个很简单, 但是后来我发现一个问题, 如果目录下存在 C 源文件, 那么就会提示错误, 没有这个编译选项, 那么下面还得添加个排除规则
排除规则
CompileFlags:
Add: [-xc++, -std=c++20] # treat all files as C++
指定编译器
CompileFlags:
Compiler: g++
参考
Configuration;
Dns 会不会返回多个 ip 地址
问题
DNS 解析一个地址的时候会返回多个 IP 吗?
不会
分析
基于 DNS 的负载均衡
实际上可以实现一个域名对应多个 IP 地址的, 只需要在 DNS服务器中添加一条解析记录, 将域名指向服务器的 IP 地址即可.
DNS 解析策略
轮询(poll): DNS 服务器按顺序返回多个 IP 地址, 实现请求的轮流分发道不同的服务器上.
权重: 为每个 IP 地址分配不同的权重, 权重越高的服务器被选中的概率越大.
响应时间: DNS 服务器通过测量服务器响应时间来选择最快的服务器, 将域名解析为对应的 IP 地址.
优缺点
优点
将负载均衡工作交给 DNS, 省去了网站管理维护负载均衡服务器的麻烦
技术实现灵活, 操作简单, ...
共计 460 篇文章,58 页。
您是Zorch的第 个小伙伴
Hits