当前位置:网站首页>Simulation volume leetcode [general] 1218 Longest definite difference subsequence
Simulation volume leetcode [general] 1218 Longest definite difference subsequence
2022-07-06 06:18:00 【Encounter simulation volume】
1218. The longest definite difference subsequence
Give you an array of integers arr And an integer difference, Please find out and return to arr The length of the longest isochromatic subsequence in , The difference between adjacent elements in this subsequence is equal to difference .
Subsequence It means that without changing the order of the other elements , Remove from... By deleting some elements or not deleting any elements arr Derived sequence .
Example 1:
Input :arr = [1,2,3,4], difference = 1
Output :4
explain : The longest isochromatic subsequence is [1,2,3,4].
Example 2:
Input :arr = [1,3,5,7], difference = 1
Output :1
explain : The longest arithmetic subsequence is any single element .
Example 3:
Input :arr = [1,5,7,8,5,3,4,2,1], difference = -2
Output :4
explain : The longest isochromatic subsequence is [7,5,3,1].
Tips :
1 <= arr.length <= 105
-104 <= arr[i], difference <= 104
source : Power button (LeetCode)
link :https://leetcode-cn.com/problems/longest-arithmetic-subsequence-of-given-difference
Copyright belongs to the network . For commercial reprint, please contact the official authority , Non-commercial reprint please indicate the source .
Code :
from leetcode_python.utils import *
class Solution:
def __init__(self):
""" Calculate to each number , How many long series are there in total . All from 0 Start calculating """
pass
def longestSubsequence(self, arr: List[int], difference: int) -> int:
res_cnt = {
}
for num in arr:
res_cnt[num] = res_cnt.get(num-difference,0)+1
return max(res_cnt.values())
def test(data_test):
s = Solution()
return s.longestSubsequence(*data_test)
def test_obj(data_test):
result = [None]
obj = Solution(*data_test[1][0])
for fun, data in zip(data_test[0][1::], data_test[1][1::]):
if data:
res = obj.__getattribute__(fun)(*data)
else:
res = obj.__getattribute__(fun)()
result.append(res)
return result
if __name__ == '__main__':
datas = [
[],
]
for data_test in datas:
t0 = time.time()
print('-' * 50)
print('input:', data_test)
print('output:', test(data_test))
print(f'use time:{
time.time() - t0}s')
remarks :
GitHub:https://github.com/monijuan/leetcode_python
CSDN Summary : Simulation volume Leetcode Summary of questions _ Paper blog -CSDN Blog
You can add QQ Group communication :1092754609
leetcode_python.utils See the description on the summary page for details
First brush questions , Then generated by script blog, If there is any mistake, please leave a message , I see it will be revised ! thank you !
边栏推荐
猜你喜欢
Significance of unit testing
技术分享 | 常见接口协议解析
Caused by:org.gradle.api.internal.plugins . PluginApplicationException: Failed to apply plugin
【Postman】测试(Tests)脚本编写和断言详解
【无App Push 通用测试方案
Fault, error, failure of functional safety
10M25DCF484C8G(FPGA) AMY-6M-0002 BGA GPS模块
在uni-app中使用腾讯视频插件播放视频
调用链监控Zipkin、sleuth搭建与整合
[web security] nodejs prototype chain pollution analysis
随机推荐
Embedded point test of app
VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator
Career advancement Guide: recommended books for people in big factories
Qt:无法定位程序输入点XXXXX于动态链接库。
在uni-app中使用腾讯视频插件播放视频
Fault, error, failure of functional safety
GTSAM中ISAM2和IncrementalFixedLagSmoother说明
黑猫带你学UFS协议第4篇:UFS协议栈详解
Buuctf-[gxyctf2019] no dolls (xiaoyute detailed explanation)
【Postman】Collections配置运行过程
selenium源码通读·9 |DesiredCapabilities类分析
E - 食物链
模拟卷Leetcode【普通】1219. 黄金矿工
调用链监控Zipkin、sleuth搭建与整合
Caused by:org.gradle.api.internal.plugins . PluginApplicationException: Failed to apply plugin
异常检测方法总结
这些年用Keil遇到的坑
把el-tree选中的数组转换为数组对象
LeetCode 732. 我的日程安排表 III
测试周期被压缩?教你9个方法去应对