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

手机访问自动跳转到wap网站的代码郴州市区有什么好玩的地方?

手机访问自动跳转到wap网站的代码,郴州市区有什么好玩的地方?,展馆,wordpress安装后输入帐号登不进去1、leetcode题目里对于元素加和的考察可谓是屡见不鲜#xff0c;包括 简单的限定一个有效答案的两个或多个元素求和leetcode分类刷题#xff1a;哈希表#xff08;Hash Table#xff09;#xff08;一、简单的两数之和#xff09;、在有序数组内对加和等于target的三元组… 1、leetcode题目里对于元素加和的考察可谓是屡见不鲜包括 简单的限定一个有效答案的两个或多个元素求和leetcode分类刷题哈希表Hash Table一、简单的两数之和、在有序数组内对加和等于target的三元组、四元组等的求解leetcode分类刷题基于数组的双指针三、有序数组的元素求和以及连续子数组加和leetcode分类刷题滑动窗口一、基本子数组类型 2、本文总结的题型同样为对连续子数组加和进行考察区别于leetcode分类刷题滑动窗口一、基本子数组类型的是数组元素为整数不是正整数了因此需要按照 前缀和按照闭区间形式当前索引位置的值也算进去好理解哈希表 的思路进行解决最后会发现这种题型就是leetcode分类刷题哈希表Hash Table一、简单的两数之和的扩展在解题模板上会有点类似 724. 寻找数组的中心下标 1、该题为典型的使用前缀和算法解决的问题只需要两次遍历即可第一次遍历求数组的和第二次遍历求数组的前缀和并判断对应位置是否为 中心下标 2、和1991. 找到数组的中间位置是完全一样的题目 from typing import List724. 寻找数组的中心下标 题目描述给你一个整数数组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:break560. 和为 K 的子数组 1、通过题眼连续子数组来判断该题很像是滑动窗口的解法但数组元素为整数不是正整数不满足滑窗右边界增大元素之和递增、左指针增大元素之和递减 了 2、要用前缀和按照闭区间形式当前索引位置的值也算进去好理解哈希表的思路 3、通过这道题也认识到如果“1. 两数之和”不是限定了样例只存在一个答案其哈希表更新的逻辑有缺陷 from typing import List560. 和为 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:break974. 和可被 K 整除的子数组 1、“560. 和为 K 的子数组”的衍生题思路为完全一致的前缀和按照闭区间形式当前索引位置的值也算进去好理解哈希表 2、这道题比较难想的是使用 同余定理两个除以k余数相等的数字其差一定可以整除k即 (preSumJ - preSumI)%K 0 等价于 preSumJ%K preSumI%K from typing import List974. 和可被 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://www.w-s-a.com/news/201865/

相关文章:

  • 做网站公司赚钱吗网站建设英语翻译
  • 网络公司除了做网站产品设计作品
  • dede网站模板替换湘潭建设路街道网站
  • 东莞网站优化效果如何网络设计工作
  • 网站备案系统验证码出错的解决方案任丘建设银行网站
  • 个人博客建站wordpress叮当app制作
  • 网站式的公司记录怎么做二手书网站策划书
  • 营销型网站的建设重点是什么帝国程序和WordPress
  • 正能量网站推荐不需要下载巴中网站建设开发公司
  • 学生模拟网站开发西安seo平台
  • 免费的app推广平台免费网站seo
  • 建一个个人网站网站建设中小企业广西
  • 优惠券网站做淘客违规吗个人建网站运营.
  • 旅游网站制作建设华大基因 网站建设
  • sem推广竞价托管南京seo网站优化
  • 网站优化网站建站教程网站建设 成都
  • 网站 配色表html代码在线
  • 城乡和建设部建造师网站众筹平台网站建设
  • 外贸网站模板免费下载微网站制作软件
  • 一个新的网站怎么做宣传技术先进的网站建
  • 福建网站建设有限公司需求网站
  • 生物科技企业网站做的比较好的企业培训网站模板
  • 南京 高端网站建设网站备案密码怎么找回
  • 蛋糕店网站模板建设电子商务系统网站
  • 海口网站建设优化公司网站开发要加班吗
  • 建设一个网站需要注意哪些要求群晖的网站开发
  • 精通网站开发阅读网页视频下载慢怎么办
  • 网站标题的选择巴音郭楞库尔勒网站建设
  • 成都市网站建设服务商怎么进网站后台管理系统
  • 企业网站站内优化30岁做网站编辑