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

江门网站建设易搜互联佛山网站建设服务器

江门网站建设易搜互联,佛山网站建设服务器,做社区网站怎么做,wordpress sns文章目录Google的一道经典面试题 - 767. 重构字符串767. 重构字符串1054. 距离相等的条形码结论Google的一道经典面试题 - 767. 重构字符串 767. 重构字符串 题目链接:767. 重构字符串 题目大意:给定一个字符串 s ,检查是否能重新排布其中的…

文章目录

  • Google的一道经典面试题 - 767. 重构字符串
    • 767. 重构字符串
    • 1054. 距离相等的条形码
  • 结论

Google的一道经典面试题 - 767. 重构字符串

767. 重构字符串

题目链接:767. 重构字符串
题目大意:给定一个字符串 s ,检查是否能重新排布其中的字母,使得两相邻的字符不同。
返回 s 的任意可能的重新排列。若不可行,返回空字符串 “” 。

注意:(1)1 <= s.length <= 500;(2)s 只包含小写字母。

示例:

输入: s = "aab"
输出: "aba"输入: s = "aaab"
输出: ""

参考代码:

class Solution:def reorganizeString(self, s: str) -> str:cnt = Counter(s)st = sorted(cnt,key=lambda k:0-cnt[k])if cnt[st[0]] > (len(s)+1)//2: return ""res = []for i in st:res += [i]*cnt[i]ans = [None for _ in range(len(res))]ans[::2] = res[:len(ans[::2])]ans[1::2] = res[len(ans[::2]):]return ''.join(ans)
  • 时间复杂度:O(n+∣Σ∣)O(n+|\Sigma|)O(n+∣Σ∣),其中 nnn 是字符串的长度,Σ\SigmaΣ 是字符集,在本题中字符集为所有小写字母,∣Σ∣=26|\Sigma|=26∣Σ∣=26。遍历字符串并统计每个字母的出现次数,时间复杂度是 O(n)O(n)O(n)。重构字符串需要进行 nnn 次放置字母的操作,并遍历每个字母得到出现次数,时间复杂度是 O(n+∣Σ∣)O(n+|\Sigma|)O(n+∣Σ∣)
  • 空间复杂度:O(∣Σ∣)O(|\Sigma|)O(∣Σ∣),其中 nnn 是字符串的长度,Σ\SigmaΣ 是字符集,在本题中字符集为所有小写字母,∣Σ∣=26|\Sigma|=26∣Σ∣=26

1054. 距离相等的条形码

相似题型:1054. 距离相等的条形码
题目大意:在一个仓库里,有一排条形码,其中第 i 个条形码为 barcodes[i]。
请你重新排列这些条形码,使其中任意两个相邻的条形码不能相等。 你可以返回任何满足该要求的答案,此题保证存在答案。

注意:(1)1 <= barcodes.length <= 10000;(2)1 <= barcodes[i] <= 10000。

示例:

输入:barcodes = [1,1,1,2,2,2]
输出:[2,1,2,1,2,1]输入:barcodes = [1,1,1,1,2,2,3,3]
输出:[1,3,1,3,2,1,2,1]

参考代码:

class Solution:def rearrangeBarcodes(self, barcodes: List[int]) -> List[int]:cnt = Counter(barcodes)st = sorted(cnt,key=lambda k:0-cnt[k])res = []for i in st:res += [i]*cnt[i]ans = [None for _ in range(len(res))]ans[::2] = res[:len(ans[::2])]ans[1::2] = res[len(ans[::2]):]return ans
  • 复杂度分析和上面差不多,不过Σ=10000\Sigma=10000Σ=10000

结论

  • 排序这一块的题目还是比较难的,关于 .sort()和sorted()函数的应用非常广泛且灵活多变,很有意思的,加油吧,努力学习。
http://www.yayakq.cn/news/813680/

相关文章:

  • 怎么做网站注册推广300m空间够用吗 wordpress
  • 建设银行官方网站购房贷款利率如何让网站快速收录
  • 宁波住房建设局网站福州网站模板建站
  • 公司网站一般用什么软件做重庆网站设计排名
  • 企业模板网站怎么做航空网站建设
  • 在手机上开发app短视频关键词seo优化
  • 山东德州网站建设wordpress一键生成app
  • 河南省网站备案英语培训网站建设
  • 网站集群建设必要性济南建设信息网站
  • 门户做网站微网站怎样做
  • 北京专业网站设计推荐个人网页设计教程大全
  • 怎样修改网站模板科技公司的网站
  • 电商网站前端页面响应式设计wordpress新浪图
  • 网站建设需准备什么软件怎么看网站什么时候做的
  • html5 微网站 源码获取网站访问量
  • 网站资讯板块的搭建网站建设公司项目介绍
  • 用照片做模板下载网站制作高端app开发公司
  • 做化妆品注册和注册的网站吗工程建设龙头
  • 学院路网站建设动漫制作专业是干什么的
  • 网站源码破解版asp 做购物网站
  • 自己建一个网站能过期吗seo网站建设及扩词
  • 如何做一元购网站网站开发课题的目的与意义
  • 网站跳出率高怎么办网站开发中遇到的主要问题
  • 手机端网站开发视频教程安徽网站线上开发公司
  • 网页制作与网站开发 实验报告网站 制作价格表
  • 手机上怎么做能打开的网站网站内容智能
  • 网站500兆空间多少钱wordpress页面原文件
  • 网站建设结构方案网站源代码查看
  • 网站设计 无锡短租房网站哪家做最好
  • 太仓违章建设举报网站网站页面分析