White‘s Blog

本文记录位运算的常见应用。 在介绍位运算的应用之前,应当首先对二进制表示有一定的了解,这方面知识属于计算机原理的范畴。我们知道,按位与、按位或、按位异或、按位取反就是对整数的二进制位逐个进行逻辑与、逻辑或、逻辑异...

发布 0 条评论

LeetCode 215. 数组中的第K个最大元素 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 求第K大元素、求第K小元素...

发布 0 条评论

常规的整数划分 考虑对一个正整数 N 划分为若干个正整数的和,求所有方案数。 如当 \(N = 5\) 时,所有的方案(共 7 种)如下:5、4 + 1、3 + 2、3 + 1 + 1、2 + 2 + 1、2 + 1 + 1 + 1、1 + 1 + 1 + 1 + 1。  不难想出解决...

发布 0 条评论

本文继续介绍其他的几种进程间通讯方式。 Socket Socket即套接字,是进程间通讯的一个非常常用的方法。在.NET中,套接字的实现为System.Net.Sockets类,这个类是System.Net命名空间最重要的一个类,该命名空间内的几乎所有其他类...

发布 0 条评论

Channel 信道 上篇介绍了共享内存、命名管道、匿名管道这三种进程间通讯方法,下面介绍通过Channel(信道)进行通讯的几种方法,包括IPC、HTTP、TCP三种。 什么是信道呢?本质上信道是生产者/消费者编程模型的一种实现,生产者...

发布 0 条评论

C#中跨进程通讯的几种常用方法。 内存映射 内存映射即MemoryMappedFile,允许进程在内存中开辟一段空间,而以读取文件的形式去读写,这个内存映射文件是与磁盘无关的,可以用于进程间进行通讯。C#中的MemoryMappedFile类封装了Wi...

发布 0 条评论

在ASP.NET Core中,很多项目的结构都被简化了,一些约定也发生了细微的变化。目前大部分模板都是比较统一的,最简单的项目就是最近推出的Minimal API,其他的如MVC、Blazor都是在WebAPI的基础上拥有自己特有的东西。本文以WebAPI...

发布 0 条评论

二分查找 二分查找主要是通过分治法来实现对数时间复杂度的查找,二分查找的写法很多,但一般可分为三种:相错终止、相等终止、相邻终止。 0. 三个基本模板 模板一 相错终止 int l = 0, r = nums.Length - 1; while(l <= r) { ...

发布 0 条评论

依赖注入是用来实现 IOC(Inversion Of Control,控制反转) 的一种方式,它可以让一个类不显式地获取它的依赖类,从而实现类与其依赖类的分离。这种不显式的获取方式叫做依赖注入。 例如下面这个 Test 类使用了一个简单的日志配...

发布 0 条评论

EntityFrameworkCore 学习笔记,已完结。 【EFCore】笔记1 ORM与EFCore 【EFCore】笔记2 Migration 【EFCore】笔记3 CRUD 【EFCore】笔记4 实体配置 【EFCore】笔记5 主键 【EFCore】笔记6 反向工程 【EFCore】笔记...

发布 0 条评论