生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。人

随笔 - 151  文章 - 0  评论 - 117  阅读 - 108万 

随笔分类 -  算法

leetcode算法题 216. 组合总和
摘要:题目描述 找出所有相加之和为 n 的 k 个数的组合,且满足下列条件: 只使用数字1到9 每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次,组合可以以任何顺序返回。 示例 1: 输入: k = 3, n = 7 输出: [[1,2,4]] 解释: 1 + 2 + 阅读全文
posted @ 2024-11-01 00:09 测试开发喵 阅读(13) 评论(0) 推荐(0) 编辑
leetcode算法题 437.路径总和
摘要:题目描述 给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。 路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 示例 示例 1: 输入:root = [10,5, 阅读全文
posted @ 2024-10-16 18:30 测试开发喵 阅读(11) 评论(0) 推荐(0) 编辑
go 实现几个递归经典案例(阶乘、斐波那契数列、二分查找、汉诺塔)
摘要:一、递归概念 先看一个例子: 你坐在电影院看电影,你想知道自己是第几排,但是太黑了,数不清,只能问你的前一排是第几排,你就是你的前一排加1, 但前一排也不知道自己是第几排,只能再问他的前一排,,, 问到第一排的时候,第一排告诉第二排自己是第一排, 第二排知道自己是第二排了, 第二排再告诉第三排,第三 阅读全文
posted @ 2021-09-03 16:40 测试开发喵 阅读(401) 评论(0) 推荐(0) 编辑
百度2020春招 笔试算法题第一题 需要买多少瓶果汁
摘要:题目描述 小度和同事们一起去春游,天气炎热,小度自告奋勇去给大家买果汁。 员工一共有n名(包括小度),果汁一共有k种,第i位员工每个人都有自己最喜欢的一种果汁a_i。 小度到达果汁商店的时候,被告知商店正在举行促销活动,全场果汁买一送一(购买一瓶i型果汁,再赠送一瓶i型果汁)。 小度想让所有人(包括 阅读全文
posted @ 2020-03-15 15:53 测试开发喵 阅读(696) 评论(0) 推荐(1) 编辑
美团2020春招 笔试算法题 双行道
摘要:题目描述 有一个2*n的网格,有一个人位于(1,1)的位置,即左上角,他希望从左上角走到右下角,即(2,n)的位置。在每一次,他可以进行三种操作中的一种: 1、向右走一格,即从(x,y)到(x,y+1); 1、向右上走一格,即,如果他在(2,y)的位置可以走到(1,y+1); 2、向上右方走一格,即 阅读全文
posted @ 2020-03-15 11:44 测试开发喵 阅读(1473) 评论(0) 推荐(2) 编辑
美团2020春招 笔试算法题 最好一样
摘要:题目描述 给出一个序列包含n个正整数的序列A,然后给出一个正整数x,你可以对序列进行任意次操作的,每次操作你可以选择序列中的一个数字,让其与x做按位或运算。你的目的是让这个序列中的众数出现的次数最多。 请问众数最多出现多少次。 输入 输入第一行仅包含两个正整数n和x,表示给出的序列的长度和给定的正整 阅读全文
posted @ 2020-03-14 19:40 测试开发喵 阅读(4010) 评论(0) 推荐(2) 编辑
2019秋招笔试编程题 膨胀的牛牛
摘要:题目描述: 牛牛以草料为食。牛牛有一天依次遇到n堆被施展了魔法的草料,牛牛只要遇到一堆跟他当前相同大小的草料,它就会把草料吃完,而使自己的大小膨胀一倍。一开始牛牛的大小的是A,然后给出牛牛依次遇到的n堆草料的大小。请计算牛牛最后的大小。 输入描述: 输入包括两行,第一行包含两个整数n和A(1 ≤ n 阅读全文
posted @ 2019-10-03 11:01 测试开发喵 阅读(429) 评论(0) 推荐(0) 编辑
蓝桥杯2018国赛第一题 填空题 求三角形面积
摘要:标题:三角形面积 已知三角形三个顶点在直角坐标系下的坐标分别为:(2.3, 2.5)(6.4, 3.1)(5.1, 7.2) 求该三角形的面积。 注意,要提交的是一个小数形式表示的浮点数。要求精确到小数后3位,如不足3位,需要补零。 Java 代码如下: 阅读全文
posted @ 2019-05-08 20:22 测试开发喵 阅读(626) 评论(0) 推荐(0) 编辑
ACM 第十一届 河南省省赛A题 计划日
摘要:一、题目描述如下: 二、思路分析 其实这个如果是一个填空题,可以直接用Excel快速计算出来,反而用代码比较麻烦 说一下我的代码的思路: 1.如果N大于本月剩下的天数,就先从N天里减去本月剩下的天数, 2.如果剩下的N天大于本年剩下的天数,就从N天里减去本年剩下的天数,这时候日期为YYYY+1年 1 阅读全文
posted @ 2019-04-26 21:23 测试开发喵 编辑
八大排序算法详解(动图演示 思路分析 实例代码java 复杂度分析 适用场景)
摘要:一、分类 1.内部排序和外部排序 内部排序:待排序记录存放在计算机随机存储器中(说简单点,就是内存)进行的排序过程。 外部排序:待排序记录的数量很大,以致于内存不能一次容纳全部记录,所以在排序过程中需要对外存进行访问的排序过程。 2.比较类排序和非比较排序 比较类排序:通过比较来决定元素间的相对次序 阅读全文
posted @ 2019-04-20 20:41 测试开发喵 阅读(7250) 评论(16) 推荐(12) 编辑
八大排序算法——堆排序(动图演示 思路分析 实例代码java 复杂度分析)
摘要:一、动图演示 二、思路分析 先来了解下堆的相关概念:堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图: 同时,我们对堆中的结点按层进行编号,将这种逻辑结构映射到数组中就是下面这个样子 该数组从逻辑 阅读全文
posted @ 2019-04-20 15:24 测试开发喵 阅读(8728) 评论(5) 推荐(4) 编辑
八大排序算法——希尔(shell)排序(动图演示 思路分析 实例代码java 复杂度分析)
摘要:一、动图演示 二、思路分析 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。 简单插入排序很循规蹈矩,不管数组分布是怎么样的,依然一步一步的对元素进行比较,移动,插入,比如[5,4,3 阅读全文
posted @ 2019-04-20 10:39 测试开发喵 阅读(6139) 评论(0) 推荐(4) 编辑
八大排序算法——基数排序(动图演示 思路分析 实例代码java 复杂度分析)
摘要:一、动图演 二、思路分析 基数排序第i趟将待排数组里的每个数的i位数放到tempj(j=1-10)队列中,然后再从这十个队列中取出数据,重新放到原数组里,直到i大于待排数的最大位数。 1.数组里的数最大位数是n位,就需要排n趟,例如数组里最大的数是3位数,则需要排3趟。 2.若数组里共有m个数,则需 阅读全文
posted @ 2019-04-19 20:22 测试开发喵 阅读(3645) 评论(0) 推荐(0) 编辑
八大排序算法——归并排序(动图演示 思路分析 实例代码java 复杂度分析)
摘要:一、动图演示 二、思路分析 归并排序就是递归得将原始数组递归对半分隔,直到不能再分(只剩下一个元素)后,开始从最小的数组向上归并排序 1. 向上归并排序的时候,需要一个暂存数组用来排序, 2. 将待合并的两个数组,从第一位开始比较,小的放到暂存数组,指针向后移, 3. 直到一个数组空,这时,不用判断 阅读全文
posted @ 2019-03-27 08:25 测试开发喵 阅读(4830) 评论(0) 推荐(5) 编辑
八大排序算法——快速排序(动图演示 思路分析 实例代码Java 复杂度分析)
摘要:一、动图演示 二、思路分析 快速排序的思想就是,选一个数作为基数(这里我选的是第一个数),大于这个基数的放到右边,小于这个基数的放到左边,等于这个基数的数可以放到左边或右边,看自己习惯,这里我是放到了左边, 一趟结束后,将基数放到中间分隔的位置,第二趟将数组从基数的位置分成两半,分割后的两个的数组继 阅读全文
posted @ 2019-03-26 19:44 测试开发喵 阅读(17607) 评论(10) 推荐(4) 编辑
八大排序算法——插入排序(动图演示 思路分析 实例代码java 复杂度分析)
摘要:一、动图演示 二、思路分析 例如从小到大排序: 1. 从第二位开始遍历, 2. 当前数(第一趟是第二位数)与前面的数依次比较,如果前面的数大于当前数,则将这个数放在当前数的位置上,当前数的下标-1, 3. 重复以上步骤,直到当前数不大于前面的某一个数为止,这时,将当前数,放到这个位置, 1-3步就是 阅读全文
posted @ 2019-03-25 16:12 测试开发喵 阅读(4169) 评论(12) 推荐(3) 编辑
八大排序算法——冒泡排序(动图演示 思路分析 实例代码java 复杂度分析)
摘要:一、动图演示 二、思路分析 1. 相邻两个数两两相比,n[i]跟n[j+1]比,如果n[i]>n[j+1],则将连个数进行交换, 2. j++, 重复以上步骤,第一趟结束后,最大数就会被确定在最后一位,这就是冒泡排序又称大(小)数沉底, 3. i++,重复以上步骤,直到i=n-1结束,排序完成。 三 阅读全文
posted @ 2019-03-25 09:56 测试开发喵 阅读(3430) 评论(0) 推荐(0) 编辑
八大排序算法——选择排序(动图演示 思路分析 实例代码Java 复杂度分析)
摘要:一、动图演示 二、思路分析 1. 第一个跟后面的所有数相比,如果小于(或小于)第一个数的时候,暂存较小数的下标,第一趟结束后,将第一个数,与暂存的那个最小数进行交换,第一个数就是最小(或最大的数) 2. 下标移到第二位,第二个数跟后面的所有数相比,一趟下来,确定第二小(或第二大)的数 重复以上步骤 阅读全文
posted @ 2019-03-25 09:29 测试开发喵 阅读(2833) 评论(3) 推荐(2) 编辑
蓝桥杯 算法训练 素因子去重 (java)
摘要:问题描述 给定一个正整数n,求一个正整数p,满足p仅包含n的所有素因子,且每个素因子的次数不大于1 输入格式 一个整数,表示n 输出格式 输出一行,包含一个整数p。 样例输入 1000 样例输出 10 数据规模和约定 n<=10^12 样例解释:n=1000=2^3*5*3,p=2*5=10 思路分 阅读全文
posted @ 2019-03-23 17:06 测试开发喵 阅读(828) 评论(0) 推荐(0) 编辑
蓝桥杯 每周一练 第一周(3n+1问题)
摘要:[问题描述] 考虑如下的序列生成算法:从整数 n 开始,如果 n 是偶数,把它除以 2;如果 n 是奇数,把它乘 3 加1。 用新得到的值重复上述步骤,直到 n = 1 时停止。例如,n = 22 时该算法生成的序列是: 22,11,34,17,52,26,13,40,20,10,5,16,8,4, 阅读全文
posted @ 2019-03-22 14:29 测试开发喵 阅读(453) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示