无题
242.有效的字母异位词给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
示例 1: 输入: s = “anagram”, t = “nagaram” 输出: true
示例 2: 输入: s = “rat”, t = “car” 输出: false
说明: 你可以假设字符串只包含小写字母。
1234567891011121314151617func isAnagram(s1 string, s2 string) bool { if len(s1) != len(s2) { return false } mymap := make(map[string]int) for _, i := range s1 { s := string(i) mymap[s]++ } for _, i := range s2 { s := string(i) if mymap[s] == 0 { return false } } return true}
12 ...
无题
349. 两个数组的交集题意:给定两个数组,编写一个函数来计算它们的交集。
说明: 输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。
123456789101112131415func intersection(arr1 []int, arr2 []int) []int { set := make(map[int]struct{}) var res []int for _, v := range arr1 { set[v] = struct{}{} } for _, v := range arr2 { // 如果存在上一个数组,则加入结果集,并清空该set值 if _, ok := set[v]; ok { res = append(res, v) delete(set, v) } } return res}
无题
142.环形链表II题意: 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。
为了表示给定链表中的环,使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。
说明:不允许修改给定的链表。
123456789101112131415func detectCycle(head *ListNode) *ListNode { slow, fast := head, head for fast != nil && fast.Next != nil { slow = slow.Next fast = fast.Next.Next if slow == fast { for slow != head { slow = slow.Next head = head.Next } ...
无题
19.删除链表的倒数第N个节点给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。
进阶:你能尝试使用一趟扫描实现吗?
示例 1:
输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5] 示例 2:
输入:head = [1], n = 1 输出:[] 示例 3:
输入:head = [1,2], n = 1 输出:[1]
1234567891011121314151617181920212223/** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */func removeNthFromEnd(head *ListNode, n int) *ListNode { dummyHead := &ListNode{} dummyHead.Next = head cur := head prev := dummyH ...
无题
十四、Gateway新一代网关1、概述简介【1】脑图结构
【2】官网
上一代zuul 1.X
当前gateway
【3】是什么?Cloud全家桶中有个很重要的组件就是网关,在l.x版本中都是采用的Zuul网关;但在2.x版本中,zuul的升级一直跳票,SpringCloud最后自己研发了一个网关替代Zuul,那就是SpringCloud Gateway。一句话:gateway是原zuul1.x版的替代。
Gateway是在Spring生态系统之上构建的API网关服务,基于Spring 5,Spring Boot 2和 Project Reactor等技术。
Gateway旨在提供一种简单而有效的方式来对API进行路由,以及提供一些强大的过滤器功能, 例如:熔断、限流、重试等
SpringCloud Gateway 是 Spring Cloud 的一个全新项目,基于 Spring 5.0+Spring Boot 2.0 和 Project Reactor 等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。
SpringCl ...
无题
1、Java BIO、AIO、NIO了不了解?
BIO (Blocking I/O)BIO 属于同步阻塞 IO 模型 。
同步阻塞 IO 模型中,应用程序发起 read 调用后,会一直阻塞,直到内核把数据拷贝到用户空间。
在客户端连接数量不高的情况下,是没问题的。但是,当面对十万甚至百万级连接的时候,传统的 BIO 模型是无能为力的。因此,我们需要一种更高效的 I/O 处理模型来应对更高的并发量。
NIO (Non-blocking/New I/O)Java 中的 NIO 于 Java 1.4 中引入,对应 java.nio 包,提供了 Channel , Selector,Buffer 等抽象。NIO 中的 N 可以理解为 Non-blocking,不单纯是 New。它是支持面向缓冲的,基于通道的 I/O 操作方法。 对于高负载、高并发的(网络)应用,应使用 NIO 。
Java 中的 NIO 可以看作是 I/O 多路复用模型。也有很多人认为,Java 中的 NIO 属于同步非阻塞 IO 模型。
跟着我的思路往下看看,相信你会得到答案!
我们先来看看 同步非阻塞 IO 模型。
...
无题
计算机网络第三章:数据链路层3.1 数据链路层概述
1、数据链路层传输和处理数据的单位是(D)
A、报文段 B、比特流 C、数据段 D、桢
2、下列不属于数据链路层功能的是(D)
A、封装成桢 B、差错检测 C、可靠传输 D、拥塞控制
3、共享式以太网的媒体接入控制协议和802.11局域网的媒体接入控制协议分别是(A)
A、CSMA/CD,CSMA/CA B、CSMA/CD,CDMA
C、CSMA/CA,CDMA D、CSMA/CA,Wi-Fi
4、下列属于数据链路层的互联设备是(B)
A、集线器 B、网桥和交换机 C、路由器 D、网关
...
无题
206.反转链表
题意:反转一个单链表。
示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL
1234567891011121314// 双指针func reverseList(head *Node) *Node { var pre *Node cur := head for cur != nil { nextNode := cur.NextNode cur.NextNode = pre pre = cur cur = nextNode } return pre}
12345678910111213// 递归func reverseList(head *ListNode) *ListNode { return help(nil, head)}func help(pre, head *ListNode)*ListNode{ if head == nil { ...
无题
24. 两两交换链表中的节点
12345678910111213141516func swapPairs(head *ListNode) *ListNode { dummy := &ListNode{ NextNode: head, } pre := dummy for head != nil && head.NextNode != nil { pre.NextNode = head.NextNode next := head.NextNode.NextNode head.NextNode.NextNode = head head.NextNode = next pre = head head = next } return dummy.NextNode}
12345678910// 递归版本func swapPairs(head *ListNode) *ListNode { if head == nil || head.Next == nil { ...
无题
707.设计链表
题意:
在链表类中实现这些功能:
get(index):获取链表中第 index 个节点的值。如果索引无效,则返回-1。
addAtHead(val):在链表的第一个元素之前添加一个值为 val 的节点。插入后,新节点将成为链表的第一个节点。
addAtTail(val):将值为 val 的节点追加到链表的最后一个元素。
addAtIndex(index,val):在链表中的第 index 个节点之前添加值为 val 的节点。如果 index 等于链表的长度,则该节点将附加到链表的末尾。如果 index 大于链表长度,则不会插入节点。如果index小于0,则在头部插入节点。
deleteAtIndex(index):如果索引 index 有效,则删除链表中的第 index 个节点。
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757 ...