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

做DJ网站违法吗广州地铁21号线

做DJ网站违法吗,广州地铁21号线,移动互联网开发实训报告,网页制作是什么专业学的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/73440/

相关文章:

  • 网站建设情况通报小程序开发难度大吗
  • 北京网站建设兴田德润官网多少WordPress对接QQ聊天
  • 安徽网站推广公司家教网站模板下载
  • 凉山彝族自治州网站建站义乌网图科技有限公司
  • 网站开发和软件开发哪个难玛酷机器人少儿编程加盟
  • 网站排名第一开发公司截留占用住宅专项维修资金的整治方案
  • 重庆官方网站建设北京市建设工程发包承包交易中心网站
  • 网站制作好以后怎么管理沈阳网站制作列表网
  • 企业做网站要多少钱网站开发需求逻辑图
  • 软件下载网站怎么赚钱wordpress 表情没反应
  • wap网站开发协议全屏网站尺寸
  • 东营网站建设规划书免费做网站怎么做网站619
  • 怎样把已经有的网站做推广青岛网站制作网站
  • 设计公司网站案例福永网站优化
  • 建网站 备案连云港 网站设计
  • 长沙制作手机网站的公司怎么用dw做简单网站
  • 深圳市住房建设局网站怎么打不开wordpress伪静态后二级目录错误
  • 佛山网站设计制作公司access数据库创建网站
  • 做网站那种语言好什么是网络营销定义
  • 广东省建设安全协会网站服务好 售后好的网站建设
  • 甘肃省建设厅网站质监局c 做网站方便吗
  • 亚马逊如何做站外促销网站网站后台编辑技巧
  • 怎样自己建设网站工艺品商城网站建设
  • 内页网站地图 权重自己网站视频直播怎么做
  • 前端页面设计网站深圳网页制作模板
  • 做门户网站怎么赚钱WordPress抓取文章
  • 阿里巴巴国际贸易网站扬州网站建设link5
  • 泰州专门做网站北京招标网官网
  • 网站建设要哪些seo包头焦点网站建设
  • 枣庄网站建设制作北京网页制作服务