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

虚拟主机部署网站品牌推广案例及方案

虚拟主机部署网站,品牌推广案例及方案,wordpress下载数据库文件,网站的功能定位和建设运营规划1. 两数之和 题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现思路…

1. 两数之和

  • 题目描述
    给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
    你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现
  • 思路
    通过哈希表保存每个数字nums[i]对应的下标,并查找target-nums[i]是否在哈希表中,这样可以通过一次遍历就完成;
    时间复杂度: O(N);空间复杂度: O(N)
  • 代码
    class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:n = len(nums)if n < 2:return []dic = {}for i in range(n):if target - nums[i] in dic:return [dic[target - nums[i]], i]dic[nums[i]] = i
    

2. 字母异位词分组

  • 题目描述
    给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。
    字母异位词 是由重新排列源单词的所有字母得到的一个新单词。
    示例 1:

      输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]输出: [["bat"],["nat","tan"],["ate","eat","tea"]]
    
  • 思路
    提到字母异位词要联想到两点:(1) 字母异位词的字母计数的哈希表是相同的 (2)字母异位词按照字母序排序后的字符串是相同的
    本道题就是要将字母异位词进行聚类,判断方式无非上面两种,由于我们通过字典存储聚类字母异位词,而字典是不可哈希的,无法作为字典的key,因此就将排序后的字母异位词作为key;
    时间复杂度:O(nklog⁡k)其中 n是 strs 中的字符串的数量,k是 strs 中的字符串的的最大长度。
    空间复杂度:O(nk)

  • 代码

    class Solution:def groupAnagrams(self, strs: List[str]) -> List[List[str]]:n = len(strs)if n == 0:return []dic = {}for i in range(n):s = strs[i]s_sorted = "".join(sorted(s))if s_sorted not in dic:dic[s_sorted] = [s]else:dic[s_sorted].append(s)return [value for value in dic.values()]
    

    如果想通过字母计数哈希表的方式来实现,则不能用字典来计数,需要用列表,然后再转成tuple,可以作为dict的key:

    class Solution:def groupAnagrams(self, strs: List[str]) -> List[List[str]]:mp = collections.defaultdict(list)for st in strs:counts = [0] * 26for ch in st:counts[ord(ch) - ord("a")] += 1# 需要将 list 转换成 tuple 才能进行哈希mp[tuple(counts)].append(st)return list(mp.values())
    

3. 最长连续序列

  • 题目描述
    给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。
    请你设计并实现时间复杂度为 O(n) 的算法解决此问题。
    示例 1:

      输入:nums = [100,4,200,1,3,2]输出:4解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。
    
  • 思路
    由于序列是无序的,而题目要求O(n)的解法,那么想到用哈希表实现,注意哈希表题目有的用字典方便,有的用数组方便,有的用集合方便,集合(set)是一个无序的不重复元素序列。本题就是用set比较合适,因为我们只要方便查找哪些元素是否出现即可,不需要用到其他信息

    1. 首先将所有元素放入set中
    2. 遍历set中的元素num,如果num-1在set中说明num并不是一个连续序列的起点;如果num是一个连续序列的起点,那么依次判断num+1,num+2是不是在set中,即可获取以num为起点的连续序列的长度;
      时间复杂度:O(N);因为每个元素只会被遍历一次,因此数组中的每个数只会进入内层循环一次
      空间复杂度:O(N)
  • 代码

    class Solution:def longestConsecutive(self, nums: List[int]) -> int:n = len(nums)if n == 0:return 0nums_set = set(nums)res = 1for i in nums_set:if i - 1 not in nums_set:cur_l = 1cur_num = iwhile cur_num + 1 in nums_set:cur_num += 1cur_l += 1res = max(res, cur_l)return res
    
http://www.yayakq.cn/news/315215/

相关文章:

  • 烟台网站建设服务做爰全过程免费的视频网站有声音
  • 制作展示型网站公司哪家好怎么用php自己做网站吗
  • 手机网站 标题长度caddy下安装WordPress
  • 一般的网站建设网站建设中制作页面导航
  • 厦门邮件网站做网站-信科网络
  • 免费试用网站有哪些网站建设的可行性要求
  • 权威的顺德网站建设百度网站排名优化工具
  • 网站图标psd直播app制作公司
  • 做服装零售上什么网站世界杯直播观看网站
  • 目前我们的网站正在建设中seo刷关键词排名优化
  • 企业网站例子wordpress git page
  • 徐水网站建设搭建网页步骤
  • 哪儿有做字体设计的网站长沙有什么好玩的好吃的
  • 门户网站开发哪家好网站开发流程步骤
  • it行业做网站一个月多少钱青岛制作网站软件
  • 模板建站广团一般网站建设多少钱便宜的网站好吗
  • 校网站建设方案网站域名的组成
  • 免费做网站公司ydwzjswordpress wptouch
  • 青州网站定制张雪峰谈服装与服饰设计专业
  • 大学生网站设计作业动画青龙县建设局网站
  • 茂名网站建设咨询wordpress 必备插件
  • 做字幕模板下载网站wordpress添加 logo
  • 快速搭建网站软件网站建设手机app
  • 网站建设试题网站建设一下需要多少费用
  • 宁波制作网站公司国内免费无版权图片素材网站
  • 威海哪家网站做的好哈尔滨免费自助建站模板
  • 网站视图错位html教程视频教程
  • 杭州企业网站设计模板做网站的都是直男癌吗
  • wordpress网站速度检测网站建设p2p
  • 英文在线购物网站建设企业展厅设计公司价格表