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

广州做网站怎么样培训机构的网站建设

广州做网站怎么样,培训机构的网站建设,桂林最新情况最新数据,网站开发计什么科目1.学习 2.数组 2.1第53题-最大子数组和 给你一个整数数组 nums #xff0c;请你找出一个具有最大和的连续子数组#xff08;子数组最少包含一个元素#xff09;#xff0c;返回其最大和。 子数组 是数组中的一个连续部分。 心得#xff1a;一直在纠结这个连续的事情请你找出一个具有最大和的连续子数组子数组最少包含一个元素返回其最大和。 子数组 是数组中的一个连续部分。 心得一直在纠结这个连续的事情最后发现根本没必要管因为如果前一个数与当前数相加小于当前数前面的部分就会直接被舍弃如果相加大于当前数则会一直叠加。 class Solution(object):def maxSubArray(self, nums)::type nums: List[int]:rtype: intdp copy.deepcopy(nums)max_ dp[0]for i in range(1,len(nums)):dp[i] max(dp[i-1]nums[i], dp[i])if max_ dp[i]:max_ dp[i]return max_ 时间和内存占用太多根本没必要再生成一个dp数组直接用nums数组更新就行。  class Solution(object):def maxSubArray(self, nums)::type nums: List[int]:rtype: int# dp copy.deepcopy(nums)max_ nums[0]for i in range(1,len(nums)):nums[i] max(nums[i-1]nums[i], nums[i])if max_ nums[i]:max_ nums[i]return max_ 2.2第56题-合并区间 以数组 intervals 表示若干个区间的集合其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间并返回 一个不重叠的区间数组该数组需恰好覆盖输入中的所有区间 。 示例 1 输入intervals [[1,3],[2,6],[8,10],[15,18]] 输出[[1,6],[8,10],[15,18]] 解释区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2 输入intervals [[1,4],[4,5]] 输出[[1,5]] 解释区间 [1,4] 和 [4,5] 可被视为重叠区间。 class Solution(object):def merge(self, intervals)::type intervals: List[List[int]]:rtype: List[List[int]]new_int []a []intervals.sort()for i in range(1,len(intervals)):# 前一个end大于后一个startif intervals[i-1][1] intervals[i][0]:# 前一个end小于后一个endif intervals[i-1][1] intervals[i][1]:intervals[i] [intervals[i-1][0], intervals[i][1]]else:intervals[i] intervals[i-1]elif intervals[i-1][1] intervals[i][0]:intervals[i] [intervals[i-1][0], intervals[i][1]]else:new_int.append(intervals[i-1])new_int.append(intervals[-1])return new_int 2.3第189题-轮转数组 给定一个整数数组 nums将数组中的元素向右轮转 k 个位置其中 k 是非负数。 示例 1: 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右轮转 3 步: [5,6,7,1,2,3,4] class Solution(object):def rotate(self, nums, k)::type nums: List[int]:type k: int:rtype: None Do not return anything, modify nums in-place instead.# if k 0:# return numsnums1 copy.deepcopy(nums)k k % len(nums)start len(nums)-k# nums2 []# nums1 nums[:start]# nums2 nums[start:]for i in range(len(nums)):if i k:nums[i] nums[starti]else:nums[i] nums1[i-k] 感觉不用深拷贝整个数组 class Solution(object):def rotate(self, nums, k)::type nums: List[int]:type k: int:rtype: None Do not return anything, modify nums in-place instead.k k % len(nums)start len(nums)-knums1 nums[:start]nums2 nums[start:]for i in range(len(nums2)):nums[i] nums2[i]for j in range(len(nums1)):nums[jk] nums1[j] 看了答案发现我最早想出的方法就是最简单的答案nums[:]nums[start:]nums[:start]但是发现一直不能修改nums的值看了答案发现nums忘记加[:]了吐了。 class Solution(object):def rotate(self, nums, k)::type nums: List[int]:type k: int:rtype: None Do not return anything, modify nums in-place instead.k k % len(nums)start len(nums)-knums[:] nums[start:] nums[:start] 2.4除自身以外数组的乘积 给你一个整数数组 nums返回 数组 answer 其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在  32 位 整数范围内。 请不要使用除法且在 O(n) 时间复杂度内完成此题。 示例 1: 输入: nums [1,2,3,4] 输出: [24,12,8,6] 先用最简单的遍历法果然超时。 class Solution(object):def productExceptSelf(self, nums)::type nums: List[int]:rtype: List[int]len_ len(nums)answer [1]*len_for i in range(len_):for j in range(len_):if j ! i:answer[i] answer[i]*nums[j]return answer 然后把数组分为i点的前半部分和后半部分相乘来计算这样的话减少很多重复计算的时间。 class Solution(object):def productExceptSelf(self, nums)::type nums: List[int]:rtype: List[int]# 可以把乘积分为前半部分和后半部分len_ len(nums)answer [1]*len_forward [1]*len_back [1]*len_for i in range(1,len_):forward[i] forward[i-1]*nums[i-1]for j in reversed(range(len_-1)):back[j] back[j1]*nums[j1]for k in range(len_):answer[k] forward[k]*back[k]return answer 看了答案知道了左边的乘积其实可以动态的变化 class Solution(object):def productExceptSelf(self, nums)::type nums: List[int]:rtype: List[int]# 可以把乘积分为前半部分和后半部分len_ len(nums)answer [1]*len_back 1for i in range(1,len_):answer[i] answer[i-1]*nums[i-1]for j in reversed(range(len_)):answer[j] answer[j]*backback back * nums[j]return answer 2.5第41题-缺失的第一个正数 给你一个未排序的整数数组 nums 请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1 输入nums [1,2,0] 输出3 用最朴素的方法来寻找不出所料超时。 class Solution(object):def firstMissingPositive(self, nums)::type nums: List[int]:rtype: intfor i in range(len(nums)-1):j 0while j len(nums)-1-i:if nums[j] nums[j1]:temp nums[j]nums[j] nums[j1]nums[j1] tempj j 1# print(nums)if nums[-1] 0:return 1index_1 0for j in range(len(nums)):if nums[j] 0:if nums[j] ! 1:return 1else:index_1 jbreaka 1# print(index_1)for k in range(index_11,len(nums)):a a 1if nums[k] a:continueelif nums[k] a-1:a a - 1continueelse:return areturn a 1 看了解析知道当nums长度为N时正数的数目肯定在[1,N]范围内这时候就可以用哈希表来查找内存占用多但速度快。把nums中的数都放在哈希表中然后遍历[1,N]如果有哈希表中不存在则返回i若都存在则返回i1。 class Solution(object):def firstMissingPositive(self, nums)::type nums: List[int]:rtype: inthash_table set(nums)n len(nums)a 0for i in range(1,n1):if i in hash_table:a icontinueelse:return ireturn a 1
http://www.hkea.cn/news/14442374/

相关文章:

  • 长沙网站建设的首选网站小图标怎么做的
  • 度假村网站建设wordpress视频列表模板
  • 高网站排名吗请打开网站
  • 江苏体育建设场地网站做的做的比较好的网站
  • 网站安全认证去哪做网站开发软件有哪些免费
  • 怎么免费网站网页设计与制作课程思政
  • 网站如何做即时聊天男女性男女直接做的视频网站
  • 石家庄开发网站做图片视频的网站
  • 网页设计站点如何做百度网站
  • 网站开发前端应用程序环保厅网站建设的必要性
  • 做网站用哪个写比较好对于ICP而言 主要承担网站信息
  • 网站需求流程图网络整合营销策划的目标
  • js做网站好吗小制作小发明手工图片
  • 建设网站专业龙陵县住房和城乡建设局网站
  • 贵州网站建设营销公司无锡网站建设标准
  • 县级网站建设培训会浙江专业网站seo
  • 成功网站建设案例门户网站建设方案公司
  • 福建住房城乡建设厅网站小型网站开发时间周期
  • 建设高校网站的现实意义建设网站怎样分配给用户空间
  • 网站认证金额怎么做分录成都高端网站制作公司
  • 最新传奇手游开服网站推广引流渠道平台
  • 做平台交易网站怎么收款智能建站系统开发
  • 网站开发教程 模板三水区建设局网站
  • 网站开发人员的 生活南宁网站公司
  • wordpress 获取标签所有文章seo长沙
  • 北京社保网站减员怎么做wordpress注册没用
  • 装修网站效果图品牌建设方式有哪些?
  • 收录查询 站长工具永久免费的crm软件系统
  • 网站里的图片是怎么做的斗牛网站开发
  • 南宁做网站开发的公司个人工作室可以做哪些项目