● 【 数据结构和算法 】
唐茂
如果一件事情你觉得难的完不成,你可以把它分为若干步,并不断寻找合适的方法。不要给自己找麻烦,但遇到麻烦绝不怕,更不要退缩。
电工查找电路不通点的最快方法是:分段诊断排除,快速定位。你有什么启示吗?
当你对一个事情掌控不足的时候,你需要做的就是“梳理”,并制定相应的规章制度,并使资源各司其职。
展开
-
【算法面试题】带环链表之灵魂三问!
文章目录带环链表之灵魂三问!一、二、带环链表之灵魂三问!一、二、——2020-04-09——原创 2020-04-09 23:49:37 · 1976 阅读 · 0 评论 -
【算法】速度写一个最简单的递归吧!
文章目录递归实现1到100的加法一、代码实现二、总结递归实现1到100的加法听说有朋友面试不顺利,其中有一题目是递归实现1到100加法,回答得不好;结果肯定GG了。。。一、代码实现package mainimport "fmt"func recursion(min, max int)int{ if max <= min { return min...原创 2020-04-01 00:27:39 · 1902 阅读 · 0 评论 -
【排序算法】十大排序算法之冒泡排序
文章目录【排序算法】十大排序算法之冒泡排序一、复杂度分析二、图示三、源代码(go语言实现)四、输出结果五、总结【排序算法】十大排序算法之冒泡排序占位;一、复杂度分析时间复杂度时间复杂度 定量描述了算法的运算时间,用大O符号来表示。在计算的时候,先找出算法基本操作的执行次数,即为T(n),然后找到它的同数量级,即为f(n),如果T(n)与f(n)的比值求极限可得到一个常数c,那...原创 2019-02-28 20:38:45 · 4036 阅读 · 0 评论 -
【趣味算法】N阶魔方阵算法
文章目录N阶魔方阵算法一、题目二、算法分析三、代码实现四、结果五、总结N阶魔方阵算法今天有个朋友问我 这个 N(奇数)阶魔方阵的算法题目,然后就得空好好看了下,还是很有意思的!特此记录下,献给有缘人,原创 2019-04-15 20:30:29 · 6761 阅读 · 0 评论 -
【LeetCode】1108. IP 地址无效化
文章目录一、题目描述二、题目分析三、代码实现一、题目描述给你一个有效的 IPv4 地址 address,返回这个 IP 地址的无效化版本。所谓无效化 IP 地址,其实就是用 “[.]” 代替了每个 “.”。示例 1:输入:address = “1.1.1.1”输出:“1[.]1[.]1[.]1”示例 2:输入:address = “255.100.50.0”输出:“255[.]1...原创 2019-07-12 17:13:46 · 2093 阅读 · 0 评论 -
【LeetCode】11. 盛最多水的容器
文章目录一、题目描述二、题目分析三、代码实现一、题目描述给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,...原创 2019-07-12 16:28:24 · 2024 阅读 · 0 评论 -
【LeetCode】1. 两数之和
文章目录一、题目描述二、题目分析方法1:循环嵌套方法2:利用 hash map 标记三、代码实现一、题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9...原创 2019-07-17 17:40:45 · 1844 阅读 · 0 评论 -
【LeetCode】2. 两数相加
文章目录一、题目描述二、题目分析三、代码实现一、题目描述给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 ->...原创 2019-07-17 23:17:00 · 1919 阅读 · 0 评论 -
【趣味算法】定义四位整数 abcd,从 0000 到 9999 范围内,输出所有符合如下规则的四位整数
文章目录一、题目描述二、题目分析三、代码实现朋友去面试,面试官问到的一个问题。一、题目描述定义四位整数 abcd,从 0000 到 9999 范围内,输出所有符合如下规则的四位整数:a < b < c < da + b + c + d == 20示例:正确:0389、1289反例:2398、6789二、题目分析方法1:暴力破解,定义四层循环,符...原创 2019-07-26 14:37:00 · 5408 阅读 · 0 评论 -
【数据结构】02-线性表(第一部分 2.1 & 2.2 线性表的顺序表示和实现)《数据结构 C语言版(严蔚敏、吴伟民)》
文章目录教材 &amp;gt; 第2章 线性表(2.1 和 2.2)2.1 线性表的类型定义2.2 线性表的顺序表示和实现附一:结构图1、线性表的顺序结构图2、线性表的插入删除示意图附二:教材算法实现1、线性表结构及基本操作2、线性表扩展(有a、b两个线性表,扩展a表,把b表中有而a表中没有的插入a表)3、线性表合并(有a、b两个非递减有序线性表,将a、b归并为c表,c表扔按非递减排列)教材 &amp;gt; ...原创 2018-12-03 20:02:27 · 4349 阅读 · 0 评论 -
【数据结构】01-绪论《数据结构 C语言版(严蔚敏、吴伟民)》
文章目录教材 &gt; 第1章 绪论1.1 什么是数据结构1.2 基本概念和术语1.3 抽象数据类型的表示与实现1.4 算法和算法分析习题集 &gt; 第1章二、算法设计题附 &gt; 友情推荐链接教材 &gt; 第1章 绪论1.1 什么是数据结构用计算机解决一个具体问题时的步骤:首先,从具体问题抽象出一个适当的数学模型然后,设计一个解此数学模型的算法(分析问题,提取操作对象,找出对...原创 2018-11-27 16:35:02 · 4826 阅读 · 2 评论 -
【算法题】题目:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。 求总共有多少总跳法,并分析算法的时间复杂度
文章目录一、问题描述二、分析三、代码四、结果一、问题描述一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。 求总共有多少总跳法,并分析算法的时间复杂度。二、分析如果只有1 级台阶,那显然只有一种跳法;如果有2 级台阶,那就有两种跳的方法了:一种是分两次跳,每次跳1 级;另外一种就是一次跳2 级。一般情况:把n 级台阶时的跳法看成是n 的函数,记为f(n)。当n>2...原创 2018-11-29 10:59:10 · 7001 阅读 · 4 评论 -
【游戏中的算法】洗扑克牌算法
文章目录一、洗扑克牌算法二、C/C++实现方法:三、JavaScript实现效果图:1、初始页面 和 clear 后:2、初始化扑克牌:3、洗扑克牌后:四、JS代码和54张扑克牌下载地址:一、洗扑克牌算法此游戏算法的关键是:随机数的产生、扑克牌随机交换 和 数组的控制;连同大王小王,一共有54张扑克牌,第一步先按顺序初始化所有花色的扑克牌;然后通过每个位置的扑克牌与随机产生的一个位置的另一...原创 2018-11-29 09:57:30 · 4813 阅读 · 2 评论 -
【游戏中的算法】取火柴游戏算法
文章目录一、取火柴游戏算法:二、C/C++实现代码:1、模拟两个人随机取火柴:2、电脑随机取火柴,用户输入取火柴:一、取火柴游戏算法:取火柴游戏是一个非常简单有趣的小游戏,只要计算好步骤就可以做到常胜将军;基本规则:总共有n根火柴,每人每次最多能取4根,最少取1根火柴,谁取到最后一根火柴就算输。关键:当火柴少于等于5根的时候,只要把火柴取为剩下一根就可以保证对方输(这里只给出随机取火...原创 2018-11-29 10:22:36 · 6553 阅读 · 0 评论 -
【经典趣味算法】常胜将军算法
文章目录一、常胜将军游戏规则二、算法分析三、代码实现四、运行结果一、常胜将军游戏规则游戏规则:AB两人玩取火柴的游戏,共有21根火柴。每人每次最多取4根,最少取一根。取到最后一根火柴的玩家算输。保证某一玩家每次都赢!二、算法分析如果每次都想让其中一个玩家赢(此处假设为B),那么只要控制最后剩余一根火柴给另一个玩家,就能保证B获胜;根据取火柴的总数可以知道只要保证每次都会取5根火柴,最...原创 2018-11-29 10:30:54 · 4414 阅读 · 0 评论 -
【算法题】题目:求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)
文章目录一、问题描述二、分析三、代码实现四、运行结果一、问题描述求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字以及条件判断语句(A?B:C)这道题目很有趣;想了一会没想出思路,就百度了一下,然后又不小心发现了大神的解法,甚感奇妙;又给自己打了一通鸡血!在该题目的要求中,封死了所有简单可行的方法:包括使用数学公式的乘除、循环累...原创 2018-11-29 10:49:19 · 3880 阅读 · 0 评论