快慢指针---不就是快指针走两步慢指针走一步嘛?

前言大家好,我是程序员小熊,来自大厂的程序猿。快慢指针是面试中常考的知识点,尤其是涉及到链表相关问题,比如判断单链表是否有环-141. 环形链表和求环形单链表入环的第一个节点-142. 环形链表 II等等。对快慢指针有所了解的童鞋都知道,其解题的套路一般是快指针每次走两步,慢指针每次走一步,然后再根据一些判断条件去做相应的操作。可快慢指针真的只是快指针走两步慢指针走一步嘛?本文以求单链表的上中间节点和下中点为例子,深入剖析,供大家参考,希望对大家有所帮助。题目一给定一个头结点为 head 的
分类: 其他 发布时间: 11-25 08:21 阅读次数: 0

链表问题,如何优雅递龟?

前言大家好,我是来自「华为」的「程序员小熊」。绝大部分童鞋都知道,解决「链表」相关问题时,常用的解题套路主要包括「双指针」、「迭代」和「虚拟头节点」等等。今天「小熊」介绍采用「递归」的策略,秒杀「链表」相关问题,使得代码更「优雅」,并以两道常见的面试题作为例题来讲解,供大家参考,希望对大家有所帮助。链表与递归链表具有天然的递归性,一个链表可以看出头节点后挂接一个更短的链表,这个更短的链表是以原链表的头节点的下一节点为头节点,依次内推,直到最后的更短的链表为空,空本身也是一个链表(最基础的)。
分类: 其他 发布时间: 11-25 08:20 阅读次数: 0

查找表经典问题

前言大家好,我是来自「华为」的「程序员小熊」。清明假期到了,小熊给大家带来一道简单题,让大家放松放松。这道题也是各大厂的面试题,例如苹果、脸书、亚马逊和微软等等。本文主要介绍通过「查找表」的策略来解答此题,同时也会介绍「双指针」中的「对撞指针」方法,供大家参考,希望对大家有所帮助。两数之和给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个...
分类: 其他 发布时间: 11-25 08:20 阅读次数: 0

最大子序和,你会吗?

前言大家好,我是来自「华为」的「程序员小熊」。清明假期马上就要结束了,小熊给大家带来一道笔试和面试中与「动态规划」相关的常考的简单题,这道题被字节、微软、亚马逊和苹果等各大互联网大厂作为笔试题。这道题就是 Leetcode 的第 53 题-最大子序和,了解「动态规划」的童鞋,在看到最大两个字的时候,很容易就会想到用「动态规划」去解答,因为涉及到「最优解」的问题,一般都可以通过动归去做。本题小熊提供「动态规划」的思路供大家参考,希望对大家有所帮助。题目给定一个整数数组nums,找到一个具..
分类: 其他 发布时间: 11-25 08:20 阅读次数: 0

专业小偷才能盗取最大金额的现金

前言大家好,我是「程序员小熊」,就职于「华为」。今天给大家带来一道与「动态规划」相关的题目,这道题同时也是包括字节、微软和谷歌等互联网大厂的面试题,即力扣上的第 198 题-打家劫舍。本文主要介绍两种「动态规划」的策略来解答此题,供大家参考,希望对大家有所帮助。打家劫舍题目示例1:输入:[1,2,3,1]输出:4解释:偷窃1号房屋(金额=1),然后偷窃3号房屋(金额=3)。偷窃到的最高金额=1+3=4。示例2:输...
分类: 其他 发布时间: 11-25 08:20 阅读次数: 0

如何快速合并两个有序数组?

前言大家好,我是来自于「华为」的「程序员小熊」。今天给大家带来一道与「数组」相关的题目,这道题同时也是字节、微软和亚马逊等互联网大厂的面试题,即力扣上的第 88 题-合并两个有序数组。本文主要介绍「逆向双指针」的策略来解答此题,供大家参考,希望对大家有所帮助。合并两个有序数组题目描述示例1:输入:nums1=[1,2,3,0,0,0],m=3,nums2=[2,5,6],n=3输出:[1,2,2,3,5,6]示例2:输入:nums1=[1]...
分类: 其他 发布时间: 11-25 08:19 阅读次数: 0

只赢不亏的买股票的方法

前言大家好,我是来自于「华为」的「程序员小熊」。今天给大家带来一道与「贪心算法」相关的题目,这道题同时也是字节、苹果和亚马逊等互联网大厂的面试题,即力扣上的第 122 题-买卖股票的最佳时机 II。本文主要介绍「贪心」的策略来解答此题,供大家参考,希望对大家有所帮助。买卖股票的最佳时机 II题目描述示例解题思路贪心算法是通过做出一系列选择来求出问题的最优解,在每个决策点,它做出当时看来最佳的选择。通过「局部最优」的选择,寄希望实现「全局最优解」。「举例」以 pri
分类: 其他 发布时间: 11-25 08:19 阅读次数: 0

动画图解一道互联网大厂的高频面试题-数组的相对排序

前言大家好,我是来自于华为的程序员小熊。今天给大家带来一道与数组相关的面试高频题,这道题是谷歌、腾讯、苹果和亚马逊等大厂的面试题,即力扣上的第 1122 题-数组的相对排序。本文主要介绍计数排序+哈希表的策略来解答此题,供大家参考,希望对大家有所帮助。数组的相对排序给你两个数组,arr1和arr2,arr2中的元素各不相同arr2中的每个元素都出现在arr1中对arr1中的元素进行排序,使arr1中项的相对顺序和arr2中的相对顺序相同。未在arr...
分类: 其他 发布时间: 11-25 08:19 阅读次数: 0

震惊!他居然用 ECharts 实现了一个 Flappy Bird 小游戏!

echarts是一个很强大的图表库,除了我们常见的图表功能,还可以自定义图形,这个功能让我们可以很简单地在画布上绘制一些非常规的图形,基于此,我们来玩一些花哨的:做一个Flappy Bird小游戏
分类: 编程语言 发布时间: 11-25 08:19 阅读次数: 0

互联网经典算法面试题-验证二叉搜索树

前言大家好,我是熊哥。今天给大家带来一道与二叉树相关的面试高频题,这道题在半年内被谷歌、字节、微软和亚马逊等大厂作为面试题,即力扣上的第 98 题-验证二叉搜索树。本文主要介绍递归和深度优先搜索两种方法来解答此题,供大家参考,希望对大家有所帮助。验证二叉搜索树给你一个二叉树的根节点root,判断其是否是一个有效的二叉搜索树。有效二叉搜索树定义如下:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。..
分类: 其他 发布时间: 11-25 08:19 阅读次数: 0

Python学习日记——变量&字符串&print()

Python版本:3.91. 变量的命名与使用1.1 命名变量名只能包含字母、数字、"_"(下划线),变量名只能是字母或者下划线开头,且字母区分大小写; >>> loveyou1314 = 520>>> loveyou1314520>>> 1314loveyou = 520SyntaxError: invalid syntax 变量名中不能包含空格,空格建议使用下划线代替; 不能使用python的关键字或者函数名作为...
分类: 其他 发布时间: 11-25 08:18 阅读次数: 0

Python学习日记——列表的骚操作

1. 列表概述1.1 什么是列表 关于列表,就是所有元素的一个集合。包括数字,字符串,字典,列表 and so so......在Python中,列表元素下至一两个,上至百万个,功能强大,处理过程明显易懂。 列表是一个有序集合,元素的顺序按照添加的事件前后进行排序。...
分类: 其他 发布时间: 11-25 08:18 阅读次数: 0

Python学习日记——字典(可以自定义索引值的列表)

1. 字典概述Dictionary,字典。在python中,字典也是一个非常有用的工具,也是python中唯一的映射集。字典元素由键值对构成。而字典中的键,类似于列表的索引值,我们一般用其来访问字典的值。与列表不一样的是,字典的键,我们可以自己定义。字典的元素,item;键,keys;值,values。2.使用方法2.1 字典初步2.1.1 初始化字典1. 字典的初始化常见的有两种方法:>>> my_dict = {}# 或者>>.
分类: 其他 发布时间: 11-25 08:18 阅读次数: 0

模块学习—数据分析—pandas

Python环境:3.10.0,已安装第三方库 pandas一、pandas概述Pandas主要读取表格类型(二维数据类型)的数据,然后进行分析:数据类型 说明 pandas读取方法 参数说明 csv, tsv, txt 用逗号分隔、tab分割的纯文本文件 pandas.read_csv(参数1) 参数1,均为文件路径 excel 微软xls或xlsx文件 pandas.read_cexcel(参数1) - mysql 关系
分类: 其他 发布时间: 11-25 08:18 阅读次数: 0

1015 德才论 (25 分)

宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。
分类: 其他 发布时间: 11-25 08:16 阅读次数: 0

python安装WordCloud的奇妙经历

用的是清华镜像,没想到吧,更新pip的版本后easy_install pip命令,要输入大写的WordCloud
分类: 其他 发布时间: 11-25 08:13 阅读次数: 0

克强总理2021年的讲话(爬虫初试+wordcloud)

参考了许多大佬的代码+自己慢慢调,虽然还是不完全理解,但突然对python有了点兴趣,有的库可太好用了https://blog.csdn.net/viafcccy/article/details/85217934https://blog.csdn.net/qq_30638831/article/details/79959133代码import re#这个在这好像没用到import requestsimport jiebafrom scipy.misc import imreadimport
分类: 其他 发布时间: 11-25 08:13 阅读次数: 0

1034 有理数四则运算 (20 分)(失败版,测试点2,3运行不成功)

题目概述:本题要求编写程序,计算 2 个有理数的和、差、积、商。输入格式:输入在一行中按照 a1/b1 a2/b2 的格式给出两个分数形式的有理数,其中分子和分母全是整型范围内的整数,负号只可能出现在分子前,分母不为 0。输出格式:分别在 4 行中按照 有理数1 运算符 有理数2 = 结果 的格式顺序输出 2 个有理数的和、差、积、商。注意输出的每个有理数必须是该有理数的最简形式 k a/b,其中 k 是整数部分,a/b 是最简分数部分;若为负数,则须加括号;若除法分母为 0,则输出 Inf。题目
分类: 其他 发布时间: 11-25 08:10 阅读次数: 0

Java学习之路——初识Java

Java语言概述JunLeon——go big or go home什么是程序?程序:计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。Java历史Java历史重大事件1990 sun公司启动绿色计划1992 创建oak(橡树)语言 -> Java1994 gosling参加硅谷大会演示Java功能,震惊世界1995 sun正式发布Java第一个版本2009 甲骨文公司宣布收购sun公司 2001 发布Java7 2014 发布Java8
分类: 其他 发布时间: 11-25 08:07 阅读次数: 0

Linux学习——初识Linux(超详细)

初识LinuxJunLeon——go big or go home前言:Linux这门操作系统语言是必不可少的一门语言,是一门基础语言。知识学习包括:Linux命令、Linux shell、高级shell脚本编程等。一、Linux概述1、什么是Linux?Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。作为一门计算机操作系统,不同于Windows,界面简单、功能强大、稳定安全,常被企业用
分类: 其他 发布时间: 11-25 08:07 阅读次数: 0