1 | 给定两个整数数组a和b,计算具有最小差绝对值的一对数值(每个数组中取一个值),并返回该对数值的差 |
解题思路:
先对两个数组排序,然后以做两个有序链表合并成一个有序链表的思路,计算相邻的两个来自不同数组的元素的差值,并记录最小值
1 | class Solution { |
更优雅的写法
1 | class Solution { |
参考文献
作者:tago-tech来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1 | 给定两个整数数组a和b,计算具有最小差绝对值的一对数值(每个数组中取一个值),并返回该对数值的差 |
1 | class Solution { |
1 | class Solution { |
参考文献
作者:tago-tech来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1 | 设计一个算法,判断玩家是否赢了井字游戏。输入是一个 N x N 的数组棋盘,由字符" ","X"和"O"组成,其中字符" "代表一个空位。 |
1 | class Solution { |
1 | class Solution { |
1 | 我们称一个分割整数数组的方案是 好的 ,当它满足: |
1 |
|
1 | class Solution { |
难度:中等(竞赛题)
大餐 是指 恰好包含两道不同餐品 的一餐,其美味程度之和等于 2 的幂。
你可以搭配 任意 两道餐品做一顿大餐。
给你一个整数数组 deliciousness
,其中 deliciousness[i]
是第 i
道餐品的美味程度,返回你可以用数组中的餐品做出的不同 大餐 的数量。结果需要对 109 + 7
取余。
注意,只要餐品下标不同,就可以认为是不同的餐品,即便它们的美味程度相同。
示例 1:
1 | 输入:deliciousness = [1,3,5,7,9] |
示例 2:
1 | 输入:deliciousness = [1,1,1,3,3,3,7] |
提示:
1 <= deliciousness.length <= 10^5
0 <= deliciousness[i] <= 2^20
1 | class Solution { |
参考文献
1 | 设计一个方法,找出任意指定单词在一本书中的出现频率。 |
1 | class WordsFrequency { |
1 | /* 单词最大长度 */ |
参考文献
作者:yuxiaochen99来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1 | 给你一个链表和一个特定值 x ,请你对链表进行分隔,使得所有小于 x 的节点都出现在大于或等于 x 的节点之前。 |
1 | /** |
时间复杂度O(n),空间复杂度O(1)
1 |
1 | class Solution { |
1 | class Solution { |
参考文献
作者:jerry_nju来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1 | 假设你正在读取一串整数。每隔一段时间,你希望能找出数字 x 的秩(小于或等于 x 的值的个数)。请实现数据结构和算法来支持这些操作,也就是说: |
1 | class FenwickTree { |
参考文献
难度中等46
搜索旋转数组。给定一个排序后的数组,包含n个整数,但这个数组已被旋转过很多次了,次数不详。请编写代码找出数组中的某个元素,假设数组元素原先是按升序排列的。若有多个相同元素,返回索引值最小的一个。
示例1:
1 | 输入: arr = [15, 16, 19, 20, 25, 1, 3, 4, 5, 7, 10, 14], target = 5 |
示例2:
1 | 输入:arr = [15, 16, 19, 20, 25, 1, 3, 4, 5, 7, 10, 14], target = 11 |
提示:
nums[l]
与nums[mid]
的比较来判断左值
小于中值
,那么说明左边是递增
的target
并且target
小于等于中值
:r = mid
l = mid+1
左值
大于中值
,那么说明右边是递增
的左值小于等于target
或者target
小于等于中值
: r = mid
l = mid +1
左值
等于中值
,那么说明有可能找到了目标target
,那么l++
target
,那么r=l
1 | class Solution { |
1 | class Solution { |
1 | class Solution { |
参考文献
作者:armeria-program来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
难度:中等
编写一种方法,对字符串数组进行排序,将所有变位词组合在一起。变位词是指字母相同,但排列不同的字符串。
注意: 本题相对原题稍作修改
示例:
1 | 输入: ["eat", "tea", "tan", "ate", "nat", "bat"], |
说明:
1 | class Solution { |
1 | class Solution { |
参考文献
作者:LeetCode-Solution来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true