UDP安全吗,怎么修改让其安全?
packet header
QUIC FrameHeader
TCP的三个窗口 滑动 发送 拥塞, 怎么用UDP使用类似的功能 怎么确认消息是否收到?
TCP的拥塞控制是怎么样的
HTTPS的握手流程
MySQL为什么用B+树 红黑树等结构也能在叶子节点实现双向链表,为什么不能这样做
数据页是什么 怎么存储数据的 以什么样的形式进行存储数据页本身的?
InnoDB的Buffer Pool是什么?
Golang中的Map底层是怎么实现的 冲突了怎么办?
参考:https://www.nowcoder.com/discuss/654439348040970240
Redis的怎么删除过期的键 Redis内存淘汰有哪些?
过期删除
内存淘汰
clickhouse为什么快,原理是什么?
参考:https://www.nowcoder.com/discuss/460559332506124288
参考:https://blog.csdn.net/goTsHgo/article/details/142164601
进程、线程的区别?
给一个字符串,找到满足元素种数不超过k个的最长子串
https://www.nowcoder.com/questionTerminal/04c926ef687340c3842a72edb5c23ede
package main
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @param k int整型
* @return int整型
*/
func longestSubstring( s string , k int ) int {
ans := 0
className := 0
book := [26]int{}
for i,j := 0,0;j<len(s);j++{
if book[s[j]-'a']==0{
className++
}
book[s[j]-'a']++
for className>k{
if book[s[i]-'a']==1{
className--
}
book[s[i]-'a']--
i++
}
if j-i+1>ans{
ans = j-i+1
}
}
return ans
}
能用1 14 144拼成的数字称为幸运数,给定x,找出所有小于等于x的幸运数,按升序返回,不能用排序
package main
import (
"fmt"
)
func generateLuckyNumbers(x int) []int {
luckyNumbers := make(map[int]struct{})
var result []int
var dfs func(current int)
dfs = func(current int) {
if current > x {
return
}
luckyNumbers[current] = struct{}{}
// Generate new numbers by appending 1, 14, and 144
dfs(current*10 + 1)
dfs(current*10 + 14)
dfs(current*100 + 144)
}
// Start the DFS traversal from 0
dfs(0)
// Collect results and ensure sorted order by insertion
for num := range luckyNumbers {
if num > 0 { // We only want positive lucky numbers
result = append(result, num)
}
}
// Print results in ascending order
for i := 0; i <= x; i++ {
if contains(result, i) {
fmt.Println(i)
}
}
return result
}
// Helper function to check if a number is in the results
func contains(slice []int, num int) bool {
for _, v := range slice {
if v == num {
return true
}
}
return false
}
func main() {
x := 1000 // You can change this value to test with different x
generateLuckyNumbers(x)
}