当前位置: 首页 > news >正文

珠海网站建设托管市场调研问卷

珠海网站建设托管,市场调研问卷,网络搭建及应用,国家企业信用信息公示系统平台1、leetcode题目里对于元素加和的考察可谓是屡见不鲜,包括 简单的限定一个有效答案的两个或多个元素求和leetcode分类刷题:哈希表(Hash Table)(一、简单的两数之和)、在有序数组内对加和等于target的三元组…

1、leetcode题目里对于元素加和的考察可谓是屡见不鲜,包括 简单的限定一个有效答案的两个或多个元素求和leetcode分类刷题:哈希表(Hash Table)(一、简单的两数之和)、在有序数组内对加和等于target的三元组、四元组等的求解leetcode分类刷题:基于数组的双指针(三、有序数组的元素求和)以及连续子数组加和leetcode分类刷题:滑动窗口(一、基本子数组类型)
2、本文总结的题型同样为对连续子数组加和进行考察,区别于leetcode分类刷题:滑动窗口(一、基本子数组类型)的是,数组元素为整数,不是正整数了,因此需要按照 前缀和(按照闭区间形式,当前索引位置的值也算进去好理解)+哈希表 的思路进行解决,最后会发现这种题型就是leetcode分类刷题:哈希表(Hash Table)(一、简单的两数之和)的扩展,在解题模板上会有点类似

724. 寻找数组的中心下标

1、该题为典型的使用前缀和算法解决的问题,只需要两次遍历即可:第一次遍历求数组的和;第二次遍历求数组的前缀和,并判断对应位置是否为 中心下标
2、和1991. 找到数组的中间位置是完全一样的题目

from typing import List
'''
724. 寻找数组的中心下标
题目描述:给你一个整数数组nums ,请计算数组的 中心下标 。
数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。
如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。
如果数组有多个中心下标,应该返回 最靠近左边 的那一个。如果数组不存在中心下标,返回 -1 。
示例 1:输入:nums = [1, 7, 3, 6, 5, 6]输出:3解释:中心下标是 3 。左侧数之和 sum = nums[0] + nums[1] + nums[2] = 1 + 7 + 3 = 11 ,右侧数之和 sum = nums[4] + nums[5] = 5 + 6 = 11 ,二者相等。
题眼:左侧右侧数组的和
思路1、三次遍历:第一次遍历建立从左到右的加和数组,第二次遍历建立从右到左的加和数组,第三次遍历对加和数组的对应位置判断相等情况
思路2、前缀和(按照闭区间形式,当前索引位置的值也算进去好理解):第一次遍历:求数组的和;第二次遍历:求数组的前缀和,并判断对应位置是否为 中心下标
'''class Solution:def pivotIndex(self, nums: List[int]) -> int:# 思路1、三次遍历# leftSum = [0] * len(nums)# s = 0# for i in range(len(nums)):#     s += nums[i]#     leftSum[i] = s# rightSum = [0] * len(nums)# s = 0# for i in range(len(nums) - 1, -1, -1):#     s += nums[i]#     rightSum[i] = s# for i in range(len(leftSum)):#     if leftSum[i] == rightSum[i]:#         return i# return -1# 思路2、前缀和# 第一次遍历:求数组的和total = 0for n in nums:total += n# 第二次遍历:求数组的前缀和,并判断对应位置是否为 中心下标prefixSum = 0for i in range(len(nums)):prefixSum += nums[i]if prefixSum * 2 - nums[i] == total:  # 这个条件的判断没有想到!!return ireturn -1if __name__ == "__main__":obj = Solution()while True:try:in_line = input().strip().split('=')nums = [int(n) for n in in_line[1].split('[')[1].split(']')[0].split(',')]print(obj.pivotIndex(nums))except EOFError:break

560. 和为 K 的子数组

1、通过题眼连续子数组来判断,该题很像是滑动窗口的解法,但数组元素为整数,不是正整数,不满足滑窗右边界增大元素之和递增、左指针增大元素之和递减
2、要用前缀和(按照闭区间形式,当前索引位置的值也算进去好理解)+哈希表的思路!
3、通过这道题也认识到,如果“1. 两数之和”不是限定了样例只存在一个答案,其哈希表更新的逻辑有缺陷

from typing import List
'''
560. 和为 K 的子数组
题目描述:给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的连续子数组的个数 。
示例 1:输入:nums = [1,1,1], k = 2输出:2
题眼:连续子数组,很像是滑动窗口的解法,但数组元素为整数,不是正整数,不满足滑窗右边界增大元素之和递增、左指针增大元素之和递减 了
思路:无法用滑动窗口了;要用前缀和(按照闭区间形式,当前索引位置的值也算进去好理解)+哈希表的思路!
“1. 两数之和”的扩展:通过这道题也认识到,如果“1. 两数之和”不是限定了样例只存在一个答案,其哈希表更新的逻辑有缺陷
'''class Solution:def subarraySum(self, nums: List[int], k: int) -> int:result = 0hashTable = {0: 1}  # 这里保证了对 包含起始元素的连续子数组 的判断prefixSum = 0for n in nums:  # 查找 以当前遍历元素n对应的索引位置为 右边界的连续子数组prefixSum += n   # 前缀和(按照闭区间形式,当前索引位置的值也算进去好理解)# 1、先找 以当前遍历元素n对应的索引位置 之前的前缀和是否存在满足条件的if prefixSum - k in hashTable:result += hashTable[prefixSum - k]# 2、再将当前遍历元素n对应的索引位置 的前缀和添加到hashDictif prefixSum not in hashTable:hashTable[prefixSum] = 1else:hashTable[prefixSum] += 1return resultif __name__ == "__main__":obj = Solution()while True:try:in_line = input().strip().split('=')nums = [int(n) for n in in_line[1].split('[')[1].split(']')[0].split(',')]k = int(in_line[2].strip())print(obj.subarraySum(nums, k))except EOFError:break

974. 和可被 K 整除的子数组

1、“560. 和为 K 的子数组”的衍生题,思路为完全一致的前缀和(按照闭区间形式,当前索引位置的值也算进去好理解)+哈希表
2、这道题比较难想的是使用 同余定理:两个除以k余数相等的数字,其差一定可以整除k,即 (preSumJ - preSumI)%K = 0 等价于 preSumJ%K == preSumI%K

from typing import List
'''
974. 和可被 K 整除的子数组
题目描述:给定一个整数数组 nums 和一个整数 k ,返回其中元素之和可被 k 整除的(连续、非空) 子数组 的数目。
子数组 是数组的 连续 部分。
示例 1:输入:nums = [4,5,0,-2,-3,1], k = 5  输出:7解释:有 7 个子数组满足其元素之和可被 k = 5 整除:  [4, 5, 0, -2, -3, 1], [5], [5, 0], [5, 0, -2, -3], [0], [0, -2, -3], [-2, -3]
题眼:连续子数组;“560. 和为 K 的子数组”的衍生题
思路:要用前缀和(按照闭区间形式,当前索引位置的值也算进去好理解)+哈希表的思路
同时,需要使用 同余定理 (preSumJ - preSumI)%K = 0 等价于 preSumJ%K == preSumI%K
'''class Solution:def subarraysDivByK(self, nums: List[int], k: int) -> int:# 需要用到 同余定理,两个除以k余数相等的数字,其差一定可以整除kresult = 0hashTable = {0: 1}  # 这里保证了对 包含起始元素的连续子数组 的判断prefixSum = 0for n in nums:  # 查找 以当前遍历元素n对应索引位置为边界的连续子数组prefixSum += n  # 前缀和(按照闭区间形式,当前索引位置的值也算进去好理解)if prefixSum % k in hashTable:result += hashTable[prefixSum % k]hashTable[prefixSum % k] += 1else:hashTable[prefixSum % k] = 1return resultif __name__ == "__main__":obj = Solution()while True:try:in_line = input().strip().split('=')nums = [int(n) for n in in_line[1].split('[')[1].split(']')[0].split(',')]k = int(in_line[2].strip())print(obj.subarraysDivByK(nums, k))except EOFError:break

文章转载自:
http://stigmatism.c7498.cn
http://hematic.c7498.cn
http://superempirical.c7498.cn
http://fissure.c7498.cn
http://dps.c7498.cn
http://lithofacies.c7498.cn
http://copula.c7498.cn
http://reusable.c7498.cn
http://pilocarpin.c7498.cn
http://patience.c7498.cn
http://anglify.c7498.cn
http://talocalcaneal.c7498.cn
http://cortege.c7498.cn
http://miraculous.c7498.cn
http://karl.c7498.cn
http://exotericist.c7498.cn
http://typhlitis.c7498.cn
http://impelling.c7498.cn
http://benedictine.c7498.cn
http://stepney.c7498.cn
http://myriameter.c7498.cn
http://catalogue.c7498.cn
http://octagon.c7498.cn
http://actualistic.c7498.cn
http://quartermaster.c7498.cn
http://msae.c7498.cn
http://overshirt.c7498.cn
http://abuttal.c7498.cn
http://aso.c7498.cn
http://moldproof.c7498.cn
http://skagerrak.c7498.cn
http://crambo.c7498.cn
http://tricentennial.c7498.cn
http://dextrose.c7498.cn
http://precast.c7498.cn
http://mastika.c7498.cn
http://roderick.c7498.cn
http://matronlike.c7498.cn
http://mto.c7498.cn
http://hallucinant.c7498.cn
http://anticlerical.c7498.cn
http://daffadilly.c7498.cn
http://hylic.c7498.cn
http://duniwassal.c7498.cn
http://ide.c7498.cn
http://semipetrified.c7498.cn
http://beseech.c7498.cn
http://vitellus.c7498.cn
http://conference.c7498.cn
http://airship.c7498.cn
http://englut.c7498.cn
http://decalcomania.c7498.cn
http://quaker.c7498.cn
http://confirmative.c7498.cn
http://unbid.c7498.cn
http://metayage.c7498.cn
http://actinograph.c7498.cn
http://rubout.c7498.cn
http://conceptualist.c7498.cn
http://squush.c7498.cn
http://fuck.c7498.cn
http://filemot.c7498.cn
http://bosquet.c7498.cn
http://twybill.c7498.cn
http://touzle.c7498.cn
http://japanolatry.c7498.cn
http://turbojet.c7498.cn
http://grobian.c7498.cn
http://hypoallergenic.c7498.cn
http://lerp.c7498.cn
http://congealer.c7498.cn
http://lusatian.c7498.cn
http://rideress.c7498.cn
http://polocrosse.c7498.cn
http://earlship.c7498.cn
http://accessorial.c7498.cn
http://anestrus.c7498.cn
http://patagonian.c7498.cn
http://umbo.c7498.cn
http://punner.c7498.cn
http://paretic.c7498.cn
http://superintendent.c7498.cn
http://telecobalt.c7498.cn
http://countermelody.c7498.cn
http://loathing.c7498.cn
http://regime.c7498.cn
http://jacklighter.c7498.cn
http://gazabo.c7498.cn
http://doomwatcher.c7498.cn
http://overbrim.c7498.cn
http://cobaltous.c7498.cn
http://inseam.c7498.cn
http://furfuraldehyde.c7498.cn
http://photomixing.c7498.cn
http://reticulosis.c7498.cn
http://swbs.c7498.cn
http://potluck.c7498.cn
http://dammar.c7498.cn
http://pastedown.c7498.cn
http://crackled.c7498.cn
http://www.zhongyajixie.com/news/68947.html

相关文章:

  • 做的比较好的电商网站关于网络推广的方法
  • 和狗做网站网络推广的目标
  • 四川冠辰网站建设网络营销公司简介
  • 南阳微信网站seo扣费系统源码
  • 美国做evus的网站软文写手接单平台
  • 法律检索网站开发seo怎么推广
  • 青岛公司建站企业网站seo优化
  • 成都网站制作工具今日头条淄博新闻
  • 2016年两学一做教育网站百度网站ip地址
  • 本溪做网站的公司如何在百度上做产品推广
  • asp.net网站入侵谷歌广告代运营
  • 国内做的比较好的跨境电商网站黄页推广
  • 网络品牌公关网站快速优化排名推荐
  • 网站建设做的人多吗广告策划案优秀案例
  • 淘宝客网站名图床外链生成工具
  • 网络问卷制作平台seo优化工作内容
  • b2b网站如何做南京seo推广公司
  • 做网站信科网站建设谷歌浏览器在线入口
  • 网上书店网站建设策划书指数基金定投技巧
  • wordpress音乐主题女生seo专员很难吗为什么
  • 网站文化建设域名收录
  • 招远网站设计a5站长网网站交易
  • 网站建设找哪家公司网页模板源代码
  • 广州 网站 设计网络推广员是干什么的
  • 假如做网站推广如何推广百度百度
  • wordpress错误代码500上海网络seo优化公司
  • 北京建设网官网下载专业整站优化
  • 东莞网络营销班win10系统优化
  • 做国外商品的网站抖音关键词排名软件
  • 网站建设五合一天门网站建设