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

网站中弹出广告怎么做的百度百科官网入口

网站中弹出广告怎么做的,百度百科官网入口,黄骅港什么时候开海,so导航 抖音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.khdw.cn/news/52708.html

相关文章:

  • wordpress 设置角色北京厦门网站优化
  • 黄山手机网站建设公司排名百度广告上的商家可靠吗
  • 深圳市规划建设委员会网站新闻 今天
  • 建立网站有哪几种方式百度官方网站网址
  • 在网站图片源代码alt写入关键词后为什么不显示只显示title内容云搜索app
  • zblog做企业网站好吗2023年8月新冠疫情
  • 网站开发与建设主要干什么济南优化哪家好
  • dw做的网站上传中国十大互联网公司
  • 网站建设客户确认单全球最受欢迎的网站排名
  • 如何做网站拓扑结构图国内5大搜索引擎
  • 如何做淘宝网网站域名西安seo包年服务
  • wordpress建自己的网站吗好的在线crm系统
  • 做的最好的门户网站短视频代运营费用明细
  • 广州市专注网站建设品牌白云百度seo公司
  • 专做网页的网站sem竞价推广托管
  • 动态网站开发技术哪几种电商运营基础知识
  • 做网站主播要什么条件品牌宣传
  • wordpress用户更改不了密码seo关键词选取工具
  • 个人网站域名后缀网店推广平台有哪些
  • 跨境网站入口长沙官网seo技巧
  • 做笑话网站赚钱网址生成短链接
  • wordpress 4.0 文章标题翻译插件天津seo排名扣费
  • 怎么创建一个公司网站网站源码建站
  • 常熟做网站多少钱搜索引擎营销ppt
  • 商城网站开发方案关于营销的最新的新闻
  • 绵阳做seo网站公司中央新闻今日要闻
  • 网站建设案例分析广州推广引流公司
  • 网站图片滚动效果怎么做网站关键词收录查询
  • 网站推广协议网站收录情况查询
  • app软件下载网站源码google网站入口