摘要: 1 class Solution(object): 2 def smallestRepunitDivByK(self, K: int) -> int: 3 if K % 2 == 0 or K % 5 == 0: 4 return -1 5 r = 0 6 for N in range(1, K + 1): 7 ... 阅读全文
posted @ 2019-03-24 19:14 Sempron2800+ 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 1 class Solution(object): 2 def queryString(self, S: str, N: int) -> bool: 3 return all(S.find(bin(i)[2:]) != -1 for i in range(N, N//2 - 1, -1)) 阅读全文
posted @ 2019-03-24 19:11 Sempron2800+ 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 这道题暴力算法,会超时: 因此,需要使用动态规划解决: 参考:https://leetcode.com/problems/best-sightseeing-pair/discuss/261041/easy-understand-one-pass-answer-by 阅读全文
posted @ 2019-03-24 15:00 Sempron2800+ 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 先判断数组之和是否是3的倍数,如果不是,那么不能三等分。 如果可以,先确定1/3的值,保存在变量target中。 从左向右逐项相加,找到第一组等于target的值的索引,记为i。 从右向左逐项相加,找到第一组等于target的值的索引,记为j。 如果i<j,则可以三等分。 时间复杂度O(n)(三次遍 阅读全文
posted @ 2019-03-24 13:20 Sempron2800+ 阅读(217) 评论(0) 推荐(0) 编辑