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

做网站的公司主要工作是什么电子商务个人网站可以备案吗

做网站的公司主要工作是什么,电子商务个人网站可以备案吗,克隆网站到wordpress修改,linux系统一、问题描述 给定一个整数数组 nums#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]]#xff0c;使得#xff1a; i ! j、i ! k 且 j ! k nums[i] nums[j] nums[k] 0 需要返回所有和为 0 的三元组#xff0c;且这些三元组不能重复。 输入输出 输入: 整…一、问题描述 给定一个整数数组 nums判断是否存在三元组 [nums[i], nums[j], nums[k]]使得 i ! j、i ! k 且 j ! k nums[i] nums[j] nums[k] 0 需要返回所有和为 0 的三元组且这些三元组不能重复。 输入输出 输入: 整数数组 nums 输出: 包含所有和为 0 的不重复三元组的列表 示例 输入: nums [-1,0,1,2,-1,-4]输出: [[-1,-1,2],[-1,0,1]] 解释存在两个不同的三元组它们的和均为 0。 输入: nums [0,1,1]输出: [] 解释不存在三元组的和为 0。 输入: nums [0,0,0]输出: [[0,0,0]] 解释唯一的三元组和为 0。 注意事项 输出的顺序和三元组内部的顺序不重要。 需确保返回的三元组不重复。 二、解题思路以及代码实现 方法 1: 排序 双指针法 解题思路 排序: 首先对输入数组进行排序。这是因为在有序数组中可以使用双指针法更有效地查找三元组。 遍历数组: 使用一个 for 循环遍历每个元素 nums[i]确保 nums[i] 是当前处理的元素避免重复。如果 nums[i] 大于 0由于数组是有序的后面的数都将更大所以可以结束循环。 双指针: 对于每个选定的 nums[i]设置两个指针left 指向 i1right 指向数组末尾。计算三数之和 current_sum nums[i] nums[left] nums[right]。 如果 current_sum 为 0保存该三元组并移动 left 和 right 指针跳过重复的元素。 如果 current_sum 小于 0移动 left 指针向右。 如果 current_sum 大于 0移动 right 指针向左。 时间复杂度 排序: O(n log n)排序不管是分治排序还是快排的时间复杂度都是 O(n log n)详细可以搜搜 双指针遍历: O(n²) 总时间复杂度: O(n log n n²) O(n²) 空间复杂度 O(k)其中 k 是输出中三元组的数量额外空间用于结果存储。 代码实现 def threeSum(self, nums: List[int]) - List[List[int]]:nums.sort() # 排序result []n len(nums)for i in range(n):if i 0 and nums[i] nums[i - 1]: # 跳过重复元素continueleft, right i 1, n - 1while left right:current_sum nums[i] nums[left] nums[right]if current_sum 0:result.append([nums[i], nums[left], nums[right]])# 跳过重复元素while left right and nums[left] nums[left 1]:left 1while left right and nums[right] nums[right - 1]:right - 1left 1right - 1elif current_sum 0:left 1else:right - 1 return result 方法 2: 哈希表法 解题思路 使用哈希表: 利用一个哈希集合来存储每个元素帮助快速查找。 遍历: 对于数组中的每个元素 nums[i]需要找到另外两个数 nums[j] 和 nums[k]使得 nums[i] nums[j] nums[k] 0。这可以转化为寻找 -nums[i] nums[j] nums[k]。 双重循环: 使用双重循环遍历数组中的所有可能的组合计算 target -nums[i]然后检查哈希表中是否存在可以与 nums[j] 组合成 target 的元素 nums[k]。 避免重复: 使用一个集合存储找到的三元组确保输出中不包含重复的三元组。 时间复杂度 外层循环: O(n)内层循环: O(n) 哈希表查找: O(1) 总时间复杂度: O(n²) 空间复杂度 O(n)用于存储哈希表和结果集合。 代码实现 def threeSum(nums):result set()n len(nums)for i in range(n):target -nums[i]seen set()for j in range(i 1, n):complement target - nums[j]if complement in seen:result.add((nums[i], nums[j], complement))seen.add(nums[j])return [list(triplet) for triplet in result]
http://www.w-s-a.com/news/696194/

相关文章:

  • 中山企业网站优化易语言wordpress发布
  • 宜昌网站推广自己怎么做彩票网站吗
  • 英文网站建设 招标网站建设中服务器搭建方式
  • 直播网站建设需要什么软件有哪些室内设计效果图怎么做
  • 宁波网站建设电话网络推广外包一年多少钱
  • 检索标准的网站怎么制作企业网站
  • 下列关于网站开发中网页发布wordpress 粘帖图片
  • 网站建设遇到的问题及对策宁波网站建设营销推广
  • 各大招聘网站常州百度快速优化
  • 做网站线稿软件有哪些做门户网站需要注册公司吗
  • 建设企业网站模板下载优化方案怎么写
  • 做像淘宝网的网站网站单页面制作
  • 网站建设流程表龙岩网站建设较好的公司
  • 龙岗建站费用手机免费建立网站吗
  • 江门高端网站建设怎样制作wordpress手机主题
  • 淘宝网站如何在邮件里做超链接wordpress图片投票插件
  • 镇平哪家网站做的好招聘网站如何建设
  • 建网站一般多少钱幸福里wordpress怎么可视化构建页面
  • 广东网站建设建站模板主机托管公司
  • 网站开发师是做什么的网站域名在哪里备案
  • 什么是网站国内高速空间国外做3d模型的网站
  • 效果建网站的公凡科网登陆
  • 网站域名续费多少钱在线制作图片软件
  • 济南城乡住房建设厅网站中国会议营销网站
  • 展示类网站cms网站seo方法
  • 莒县做网站的公司设计师网站模版
  • 顺德顺的网站建设备份的网站建设方案书
  • 如何做网站广告山东电商网站建设
  • 新手建什么网站赚钱吗WordPress搜狗不收录
  • 石家庄招聘哪个网站做的好网站设计建设公司服务商