2 范天祚

腾讯 - 软件工程师

我要认证

腾讯总部核心部门工作,欢迎面基,请多指教

等级
TA的排名 52

《剑指offer》全解(图文结合,通俗易懂,一篇看爽)

3. 数组中重复的数字题目链接牛客网题目描述在一个长度为 n 的数组里的所有数字都在 0 到 n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的,也不知道每个数字重复几次。请找出数组中任意一个重复的数字。Input:{2, 3, 1, 0, 2, 5}Output:2解题思路要求时间复杂度 O(N),空间复杂度 O(1)。因此不能使用排序的方法,也不能使用额外的标记数组。对于这种数组元素在 [0, n-1] 范围内的问题,可以将值为 i 的元素调整到第 i 个位置

2020-07-26 12:09:51

leetcode771. 宝石与石头 py永远的神!

给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。示例 1:输入:nums = [12,345,2,6,7896]输出:2解释:12 是 2 位数字(位数为偶数)345 是 3 位数字(位数为奇数) 2 是 1 位数字(位数为奇数)6 是 1 位数字 位数为奇数)7896 是 4 位数字(位数为偶数) 因此只有 12 和 7896 是位数为偶数的数字示例 2:输入:nums = [555,901,482,1771]输出:1解释:只...

2020-07-19 20:41:01

leetcode771. 宝石与石头

给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = "aA", S = "aAAbbbb"输出: 3示例 2:输入: J = "z", S = "ZZ"输出: 0注意: S 和 J 最多含有50个字母。 J 中的字符不重复。...

2020-07-19 20:37:36

leetcode1119. 删去字符串中的元音 小学难度

给你一个字符串 S,请你删去其中的所有元音字母( 'a','e','i','o','u'),并返回这个新字符串。示例 1:输入:"leetcodeisacommunityforcoders"输出:"ltcdscmmntyfrcdrs"示例 2:输入:"aeiou"输出:""提示: S 仅由小写英文字母组成。 1 <= S.length <= 1000遍历或者replaceallclass Solution { publ...

2020-07-19 20:35:21

leetcode1299. 将每个元素替换为右侧最大元素

给你一个数组 arr ,请你将每个元素用它右边最大的元素替换,如果是最后一个元素,用 -1 替换。完成所有替换操作后,请你返回这个数组。示例:输入:arr = [17,18,5,4,6,1]输出:[18,6,6,6,1,-1]提示: 1 <= arr.length <= 10^4 1 <= arr[i] <= 10^5逆序遍历,记录之前答案,和当前元素比对即可。class Solution: def replace...

2020-07-19 20:32:41

leetcode709. 转换成小写字母 最秀狼人做法(比狠多一点)

实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。示例 1:输入: "Hello"输出: "hello"示例 2:输入: "here"输出: "here"示例 3:输入: "LOVELY"输出: "lovely"一个一个的比着换,狠不狠。class Solution: def toLowerCase(self, str: str) -> str: st.

2020-07-19 20:25:24

leetcode1085. 最小元素各数位之和 py不止是字符串的神!

给你一个正整数的数组 A。然后计算 S,使其等于数组 A 当中最小的那个元素各个数位上数字之和。最后,假如 S 所得计算结果是 奇数 的请你返回 0,否则请返回 1。示例 1:输入:[34,23,1,24,75,33,54,8]输出:0解释:最小元素为 1,该元素各个数位上的数字之和 S = 1,是奇数所以答案为 0。示例 2:输入:[99,77,33,66,55]输出:1解释:最小元素为 33,该元素各个数位上的数字之和 S = 3 + 3 = 6,是偶数所以答.

2020-07-19 20:22:54

leetcode1207. 独一无二的出现次数

给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。示例 1:输入:arr = [1,2,2,1,1,3]输出:true解释:在该数组中,1 出现了 3 次,2 出现了 2 次,3 只出现了 1 次。没有两个数的出现次数相同。示例 2:输入:arr = [1,2]输出:false示例 3:输入:arr = [-3,0,1,-3,1,1,1,-3,10,0]输出:true..

2020-07-19 20:20:05

leetcode1491. 工资平均值 这也叫题?也太简单了吧

给你一个整数数组 salary ,数组里每个数都是 唯一 的,其中 salary[i] 是第 i 个员工的工资。请你返回去掉最低工资和最高工资以后,剩下员工工资的平均值。示例 1:输入:salary = [4000,3000,1000,2000]输出:2500.00000解释:最低工资和最高工资分别是 1000 和 4000 。去掉最低工资和最高工资以后的平均工资是 (2000+3000)/2= 2500示例 2:输入:salary = [1000,2000,3000]输.

2020-07-19 20:15:23

leetcode559. N叉树的最大深度

给定一个 N 叉树,找到其最大深度。最大深度是指从根节点到最远叶子节点的最长路径上的节点总数。例如,给定一个 3叉树 :我们应返回其最大深度,3。说明: 树的深度不会超过 1000。 树的节点总不会超过 5000。思路见代码/*// Definition for a Node.class Node { public int val; public List<Node> children; public Node...

2020-07-19 20:12:59

leetcode933. 最近的请求次数

写一个 RecentCounter 类来计算最近的请求。它只有一个方法:ping(int t),其中 t 代表以毫秒为单位的某个时间。返回从 3000 毫秒前到现在的 ping 数。任何处于 [t - 3000, t] 时间范围之内的 ping 都将会被计算在内,包括当前(指 t 时刻)的 ping。保证每次对 ping 的调用都使用比之前更大的 t 值。示例:输入:inputs = ["RecentCounter","ping","ping","ping","ping"], .

2020-07-19 20:10:48

《三天给你聊清楚redis》第2天看看redis怎么被搞出来的(22036字)

后端需要知道的关于redis的事,基本都在这里了。

2020-07-14 09:03:06

万字干货:教新手从0到1搭建完整的增长数据体系

在实际的业务中,大多数人可能只会遇到以下一种或几种常见的场景,并且对于各个细分场景,所需要解决的问题和关注重点都是不一样的。场景一:你刚加入一个成熟产品的用户增长部门,会发现业务当前有非常全面详实的用户和业务数据,但由于个人缺少数据分析的经验,面对一堆数据,除了能简要了解到产品基本情况,不知如何从数据中挖掘出更有价值的信息。 待解决问题:面对大量数据,不知如何入手分析。 所需的能力:各种可以从数据分析中找到增长线索的方法论。 场景二:你熟练掌握了基本的数据分析技能,能够基于现有数据找到增.

2020-07-14 01:00:57

(acm)C++加速输入的几种方法

1.C++IO流的同步和绑定在C++中,cin和cout的速度其实不并不慢,C++中的流的IO速度相当的快,其速度与初始设定的缓存区大小和硬盘的IO速度有关。但在C++中,为了兼容C的IO(scanf和printf),cin和cout被设置为与C的IO同步,这样导致cin和cout的速度不如scanf和printf快。另外,在默认情况下,标准输入设备(cin)与标准输出设备(cout)绑定在一起,它保证在调用输入之前已经刷新输出缓冲区,这样也会降低读取效率。所以,我们可以手动取消他们与C语言

2020-07-10 21:33:48

使用PicGo+github+jsdelivr作为图床

1.什么是图床?所谓图床工具,就是自动把本地图片转换成链接的一款工具,网络上有很多图床工具,就目前使用种类而言,PicGo 算得上一款比较优秀的图床工具。它是一款用Electron-vue开发的软件,可以支持微博,七牛云,腾讯云COS,又拍云,GitHub,阿里云OSS,SM.MS,imgur 等8种常用图床,功能强大,简单易用。这里是最新版本的项目发布地址:https://github.com/Molunerfinn/PicGo/releases如果是macos系统,请选择dmg版本下..

2020-07-10 21:32:16

使用github+jsdelivr作为视频床

感谢JefferyIF大佬提供的神奇方法。1. 配置FFmpeg注:IOS因为不支持HLS,所以对IOS上无法正常播放视频,其他端都可以正常播放。因为脚本要使用到FFmeg对源视频文件切分成m3u8格式,所以在使用脚本之前,请配置好FFmpeg,去官网下载并配置好环境变量。下载地址:http://ffmpeg.org/download.html#build-windows选择对应的系统下载,比如我的系统是win10的,就下载window版本的文件。然后,进入环境变量的设置中,找到p.

2020-07-10 21:30:25

《三天给你聊清楚redis》第1天先唠唠redis是个啥(18629字)

后端需要知道的关于redis的事,我保证,基本都在这里了。此文后续会改为粉丝可见,所以喜欢的请提前关注。你的点赞和评论是我创作的最大动力,谢谢。

2020-07-10 19:21:17

一篇文章揭穿创业公司的套路

初衷每个初入社会的求职者,都曾经有过找工作被坑的经历。总结了以下潜台词,如果你能全部GET到,那么恭喜你,已被老板们拉入黑名单。核心「工资4k - 8k」——那工资就是4k「工资上不封顶」——就是说说而已,没人会给你一个月一百万月薪的「美女如云」——我司没有福利,你们员工自己互相给福利吧「大牛云集」——有两个稍微有点经验的程序员「需要你有一定抗压能力」——需要你自愿加班「不强制加班」——需要你自愿加班「弹性工作时间」——上班不弹,下班弹,而且只往后半夜弹「可提供有竞争力的薪酬」

2020-07-10 15:05:32

leetcode700. 二叉搜索树中的搜索

给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。例如,给定二叉搜索树: 4 / \ 2 7 / \ 1 3和值: 2你应该返回如下子树: 2 / \ 1 3在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应该返回 NULL。就是搜索树的查找。/**...

2020-07-05 16:34:44

leetcode645. 错误的集合

645. 错误的集合难度简单98集合S包含从1到n的整数。不幸的是,因为数据错误,导致集合里面某一个元素复制了成了集合里面的另外一个元素的值,导致集合丢失了一个整数并且有一个元素重复。给定一个数组nums代表了集合S发生错误后的结果。你的任务是首先寻找到重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。示例 1:输入: nums = [1,2,2,4]输出: [2,3]注意:给定数组的长度范围是[2, 10000]。 给定的数组是无序的。记录出...

2020-07-05 16:20:57

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证
    技术圈认证
    用户完成年度认证,即可获得
  • 推荐红人
    推荐红人
    发布高质量Blink获得高赞和评论,进入推荐栏目即可获得
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。