原创 最少交換次數 置換環 LeetCode 2471. 逐層排序二叉樹所需的最少操作數目

void Main() { var root = new TreeNode(1) { left = new TreeNode(3) { left = new TreeNode(7), right = new Tre

原创 比較兩個字符串的大小

var s1 = "fsd"; var s2 = "abc"; var s3 = "abcd"; var s4 = "abca"; s1.CompareTo(s2).Dump();//1  不管長度,字符序小,字符串就小 s1.Compa

原创 數組排序,同時保留原索引

var arr = new[] { 5, 4, 2, 3, 1 }; var len = arr.Length; var idx = new int[len]; for (int i = 0; i < len; i++) { idx[i

原创 C# Redis分佈式鎖(RedLock) - 多節點

Redis單節點的分佈式鎖只需要注意三點就可以了: 1.加鎖並設置鎖的過期時間必須是原子操作; 2.鎖的value值必須要有唯一性; 3.釋放鎖的時候要驗證其value值,不是自己加的鎖不能釋放.   但是單節點分佈式鎖最大的缺點就是,它只

原创 C# Redis分佈式鎖 - 單節點

爲什麼要用分佈式鎖? 先上一張截圖,這是在瀏覽別人的博客時看到的.   在瞭解爲什麼要用分佈式鎖之前,我們應該知道到底什麼是分佈式鎖. 鎖按照不同的維度,有多種分類.比如 1.悲觀鎖,樂觀鎖; 2.公平鎖,非公平鎖; 3.獨享鎖,共享鎖;

原创 C# 10以內的加減乘除

    class Program { static void Main(string[] args) { var source = "5+2*2-3*4/2";

原创 C# 廣度優先搜索

    廣度優先搜索是一種用於圖的查找算法,它主要解決兩個問題: 1.從節點S到節點E有路徑嗎? 2.從節點S到節點E的所有路線中,哪條最短? 廣度優先搜索的執行過程中,搜索範圍從起點開始逐漸向外延伸,即先檢查一度關係,再檢查二度關係.

原创 C# - 狄克斯特拉算法

  public class Route<T> { public string FullRoute { get; } public Route(Stack<T> stack)

原创 我怎麼感覺 ConcurrentDictionary<,> 不是線程安全的喃?

直接上代碼 class Program { static readonly ConcurrentDictionary<string, Person> Dic = new ConcurrentDictiona

原创 JS 自定義樣式格式化日期

Date.prototype.format = function (fmt) {             var o = {                 "M+": this.getMonth() + 1,              

原创 c# 殺死佔用某個文件的進程

  需要使用微軟提供的工具Handle.exe string fileName = @"H:\abc.dll";//要檢查被那個進程佔用的文件 Process tool = new P

原创 c# NPOI 導出23萬條記錄耗時12秒

    先上測試代碼: string connectionString = "Server=localhost;Initial Catalog=******;User ID=sa;Password=******;"

原创 c# 獲取 Apk ,Aar 文件包名

最近項目有個需求,需要拿到前端上傳的Apk或者Aar文件裏面的包名. 在這裏貢獻出來,方便有需求的小夥伴. 項目是 asp.net core 2.2  需要安裝 nuget : AndroidXml SharpCompress using

原创 Redis 常用命令

停止windows服務 : redis-server.exe --service-stop --service-name redis6379 刪除windows服務 : redis-server.exe --service-uninstal

原创 修改 IIS 默認文件上傳大小

IIS 7 默認文件上傳大小是30M 要突破這個限制: 修改IIS的applicationhost.config 打開 c:/windows/system32/inetsrv/config/applicationhost.config