912. 排序数组
给你一个整数数组 nums
,请你将该数组升序排列。
给你一个整数数组 nums
,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
子数组 是数组中的一个连续部分。
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]]
满足 i != j、i != k 且 j != k
,同时还满足 nums[i] + nums[j] + nums[k] == 0
。请
你返回所有和为 0 且不重复的三元组。
注意:答案中不可以包含重复的三元组。
给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。
k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。
你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。
https://leetcode.cn/problems/kth-largest-element-in-an-array/
给定整数数组 nums
和整数 k
,请返回数组中第 k
个最大的元素。
请注意,你需要找的是数组排序后的第 k
个最大的元素,而不是第 k
个不同的元素。
你必须设计并实现时间复杂度为 O(n)
的算法解决此问题。
工作中遇到一个问题,结构体包含接口类型的成员时,在反序列化的时候会报错。
// Task 接口类型
type Task interface {
Exec() error
}
// TaskA Task接口的实现类A
type TaskA struct {
A string `json:"a"`
}
func (ta *TaskA) Exec() error {
fmt.Println("TaskA Exec")
return nil
}
// TaskB Task接口的实现类B
type TaskB struct {
B string `json:"b"`
}
func (tb *TaskB) Exec() error {
fmt.Println("TaskB Exec")
return nil
}
// MixedStruct 反序列化目标结构体
type MixedStruct struct {
Id uint64 `json:"id"`
Task Task `json:"task"`
}
请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。
实现 LRUCache
类:
LRUCache(int capacity)
以 正整数 作为容量 capacity
初始化 LRU
缓存int get(int key)
如果关键字 key
存在于缓存中,则返回关键字的值,否则返回 -1
。void put(int key, int value)
如果关键字 key
已经存在,则变更其数据值 value
;如果不存在,则向缓存中插入该组 key-value
。如果插入操作导致关键字数量超过 capacity
,则应该 逐出 最久未使用的关键字。
函数 get
和 put
必须以 O(1)
的平均时间复杂度运行。https://leetcode.cn/problems/longest-substring-without-repeating-characters/
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。
开发中,使用 in 和 order by 的时候,发现无法同时命中索引。
使用 IN
运算符来过滤行时,MySQL
会先使用索引来定位表中的行,并将这些行的所有数据读入内存中。随后,MySQL
会根据查询语句中的 ORDER BY
子句对这些数据进行排序。