02 2021 档案
摘要:源码阅读 先从小的框架源码入手,类似go的gin框架等等,熟悉之后再去看net包的源码。 没有高并发经验 解决方法 你完全可以按量付费开一堆云服务器模拟集群和高并发场景,也完全可以按量付费套上 CDN 、WAF 之类的来看看流量清洗的效果,更可以基于这些来模拟构建一套生产环境下的场景…无非就是你想不
阅读全文
摘要:背包问题 01背包 每个物品选择一次,选或者不选 dp[i][j] 表示从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少。 dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - weight[i]] + value[i]); //背包容量是减少
阅读全文
摘要:数组重复元素之类问题的整理 lt26 删除排序数组重复项 主要是原地删除,O(1) 空间,很是巧妙 func removeDuplicates(nums []int) int { //O(1)空间复杂 if len(nums)==0{ return 0 } tmp:=0 //不同,tmp+1,放在相
阅读全文
摘要:leetcode 5 最长回文子串 2023.1.16 优化中心扩散的写法 var start,Len int func longestPalindrome(s string) string { //中心扩散记录 start和Len ,而且分为 两种情况,当前点左右扩散和当前和右边的点共同扩散 st
阅读全文
摘要:接雨水 暴力法 直接记录左右最大,最后加上当前节点左右较小的与当前的差 func trap(height []int) int { res:=0 if len(height)==0{ return 0 } lmax:=make([]int,len(height)) rmax:=make([]int,
阅读全文
摘要:lt33 搜索旋转数组 找到target下标,不在则返回-1 func search(nums []int, target int) int { //边界判断 if len(nums)==0{ return -1 } l:=0 r:=len(nums)-1 for l<=r{ mid:=l+(r-l
阅读全文
摘要:lt198 打家劫舍I [1,2,3,1] 相邻不能偷 dp 记录最大 func rob(nums []int) int { n:=len(nums) //注意边界值,0个返回0,一个返回最初值 if n<=0{ return 0 } if n==1{ return nums[0] } //dp代表
阅读全文

浙公网安备 33010602011771号