草庐IT

剑指offer(第2版)

洛洛洛洛洛啊 2023-09-15 原文

4/75

03.找出数组中重复的数字

03

try1: 遍历 超时

class Solution:
    def findRepeatNumber(self, nums: List[int]) -> int:
        for i in range(len(nums)-1):
            for j in range(i+1,len(nums)): # 第一次写忘记+1了
                if nums[i] == nums[j]:
                    return nums[I]

try2: 字典

class Solution:
    def findRepeatNumber(self, nums: List[int]) -> int:
        dic = {}
        for i in range(len(nums)):
            if nums[i] not in dic:
                dic[nums[i]] = 1
            else:  # 下面多余
                dic[nums[i]] += 1
        for i in dic.keys():
            if dic[i] > 1:
                return i # 第一次写错为了return dic[I]

try3:改进字典

class Solution:
    def findRepeatNumber(self, nums: List[int]) -> int:
        dic = {}
        for i in range(len(nums)):
            if nums[i] not in dic:
                dic[nums[i]] = 1
            else:
                return nums[I]
            

04.在二维数组中查找其是否包含指定元素

image.png

题解:将矩阵旋转45度,会发现每个元素的左边元素小于它,而右边元素大于它


image.png

05. 替换空格

image.png

try1: 利用字符串相关的函数


image.png

题解:不用自带函数的解法 遍历


image.png

06.打印链表

image.png

try1: 利用数组的索引进行插入


image.png

try2: 递归 利用python特性,把当前head.val加在前部,直到head不存在,即 head=None为结束标志


image.png

有关剑指offer(第2版)的更多相关文章

  1. 【测试面经】软件测试面试题大全,软件测试必问必背面试题,敢说会70%就可以轻松拿offer...... - 2

    目录:导读前言一、测试面试基础题二、测试实战面试题三、测试基础知识点四、总结前言大部分人学软件测试的从业者,在找工作的同时,会因为软件测试面试题挡在门前。……跳槽最重要的一步自然是面试,正值跳槽季,网上出现了各种面试题,一时会让人眼花缭乱,分不清最该看哪个,所以为大家做了一些软件测试面试的真题,想跳槽的小伙伴们,请准备好你的小本本!一、测试面试基础题1、简述测试流程?2、什么是软件测试?软件测试的目的与原则?3、软件生存周期及其模型是什么?4、什么是软件质量?5、自动化测试脚本开发的主要步骤?6、目前主要的测试用例设计方法是什么?7、常见的测试用例设计方法都有哪些?请分别以具体的例子来说明这些

  2. java - Java 中的多线程 : Do different Operating Systems offer different performance? - 2

    这可能是一个非常愚蠢的问题,但我并没有真正在网上找到答案(至少我不能理解),我只找到了一些基准测试结果likethese使用特定的基准测试软件。让我给出一些背景信息:我目前正在Ubuntu机器上开发一个java多线程程序,我在办公室有一台Windows10机器用于测试目的,该程序应该在连接的Windows7机器上运行到生产线。我对这种情况下的Ubuntu性能不感兴趣,因为客户想在Windows机器上使用它。当我在Windows10机器上测试该软件时,它只是“感觉”它比在Windows7PC上运行得更快,我必须说我没有对Windows7机器的完全访问权限,所以我不能接受测试它的时间,而且

  3. 面了 6 家大厂,并拿下 5 家 offer,进大厂好像也没有那么困难吧.... - 2

    前言二月份的时候因为换工作的缘故,陆续参加了华为、阿里巴巴、字节跳动、拼多多、百度、Paypal的社招面试,除了字节跳动流程较长,我主动结束面试以外,其他的都顺利拿到了Offer。最近时间稍微宽裕点了,写个面经,希望对大家找工作有所帮助。面试体验下面就是我各家公司面试的一个体验华为1.简历投递方式:在BOSS直聘上联系的华为HR。2.线上笔试:在正式面试之前,会有线上笔试环节,3道算法题,难易程度由浅入深,做出来两道基本就没问题了。3.一面:视频面试,这轮面试会有两个面试官,每个面试官大概会面试45分钟,面试内容偏基础;不是复杂。4.二面:这轮主要是几个领导一起电话面试,可能会问一些项目相关的

  4. ChatGPT通过谷歌L3入职测试,拿到18万美元offer?程序员们该何去何从? - 2

    这次,ChatGPT赢麻了!近日,关于ChatGPT的各类消息冲上热搜,在这个需要大量高水平人才补充的市场转折点上,越来越多的AI产品开始进入人们视野。从AI绘画到ChatGPT,其实用性、可操作性一次比一次完善,AI自身的优越性也越来越被充分展现。写稿、聊天、修bug,文学、艺术、天文、地理,只要有现有数据支撑,就没有AI做不出来的,而且在实际应用方面,它也通过自身强大的功能证明了自己存在的价值。据耶路撒冷邮报报道,以色列总统艾萨克·赫尔佐格(IsaacHerzog)在周三发表的演讲中部分内容是由AI创作的,以色列总统也因此成为了世界上第一个使用ChatGPT的人。在谷歌的编程面试中,Cha

  5. LeetCode:剑指 Offer 58 - II. 左旋转字符串 - 2

    🍎道阻且长,行则将至。🍓🌻算法,不如说它是一种思考方式🍀算法专栏:👉🏻123一、🌱剑指Offer58-II.左旋转字符串题目描述:字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。来源:力扣(LeetCode)难度:简单提示:1示例1:输入:s=“abcdefg”,k=2输出:“cdefgab”🌴解题1.直接使用字符串的substring就是直接截取前后子字符串拼接即可:classSolution{publicStringreverseLeft

  6. seo - Google 丰富的代码段未显示 "free"的 "Offer"标签 - 2

    我在我的页面上为AggregateRating和Offer添加了结构化数据。然而,在谷歌搜索中,它只显示带有评级的丰富网页摘要,不显示优惠,即“免费”标签。它在Google结构化数据测试工具中显示一切正常,但在Google搜索结果中它没有显示预期的结果。JSON-LD代码片段:{"@context":"http://schema.org/","@type":"Product","name":"TradingusingOptionsSentimentIndicators","aggregateRating":{"@type":"AggregateRating","ratingValue"

  7. seo - schema.org/Offer 缺少价格错误 - 2

    我正在使用http://schema.org/Offer对于分类网站页面。一些用户提交了他们销售商品的价格,但有些用户没有。当他们的广告没有价格时,我会跳过price和priceCurrency字段,因为这比为这些字段放置空值要好。但是谷歌网站站长工具说:Missing:price.那么用户没有指定价格怎么办? 最佳答案 当Google报告此问题时,这不是您的Schema.org标记的错误。Schema.org没有定义任何必需的属性。这只是意味着Google不会将此标记用于在搜索结果页面中显示其丰富网页摘要之一。您做对了:如果没有价

  8. 剑指AIGS:第四范式发布式说大模型,以生成式AI重构企业软件 - 2

    ChatGPT热席卷全球,带起了对于大模型的探索风潮。今年四月,国内各大厂商纷纷推出了各大模型。日前,第四范式首次向公众展示其大模型产品“式说3.0”,并首次提出AIGS战略(AI-GeneratedSoftware):以生成式AI重构企业软件。式说将定位为基于多模态大模型的新型开发平台,提升企业软件的体验和开发效率,实现“AIGS”。那么具体什么是AIGS,为何定位于AIGS,如何实现AIGS,第四范式在媒体开发日上给予了全面的解答。瞄准AIGS:改造整个软件产业,助力业务价值实现质的飞跃第四范式创始人兼CEO戴文渊认为,目前B端软件极为复杂的交互体验,以及复杂性带来的极低开发效率,恰恰为生

  9. 归并排序应用——剑指 Offer 51. 数组中的逆序对 - 2

    文章目录题目1.错误示范2.分析逆序对的判断统计出某个数后面有多少个数比它小举例(完整过程解析)第一次循环第二次循环第三次循环第四次循环第五次循环循环结束的两种存在情况3.正确代码4.递归展开图题目1.在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例1:输入:[7,5,6,4]输出:51.错误示范intreversePairs(int*nums,intnumsSize){inti=0;intj=0;intsum=0;for(i=0;inumsSize;i++){for(j=i+1;jnumsSize;j++){if

  10. 【LeetCode】剑指 Offer(28) - 2

    目录题目:剑指Offer54.二叉搜索树的第k大节点-力扣(Leetcode)题目的接口:解题思路:代码:过啦!!!题目:剑指Offer55-I.二叉树的深度-力扣(Leetcode)题目的接口:解题思路:代码:过啦!!!题目:剑指Offer55-II.平衡二叉树-力扣(Leetcode)题目的接口:解题思路:代码:过啦!!!写在最后:题目:剑指Offer54.二叉搜索树的第k大节点-力扣(Leetcode)题目的接口:/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;

随机推荐