随笔分类 -  算法

摘要:解题思路: 需要知道分数相加减的公式(对于高中生来说,一眼明白,对于我这种社畜来说,得回忆一下 ,平常不用真想不起来) a/b + c/d = (a * d +c * b) / (b * d) 需要知道求最大公约数的公司 辗转相除法 比如 6 和 30 进行 求最大公倍数 余数= a%b; whil 阅读全文
posted @ 2022-07-27 15:20 铁柱97 阅读(255) 评论(0) 推荐(0) 编辑
摘要:本题的大体思路如下 俩链表求和 【1,2,3】 【2,3,4】 求出 321+432=753; 当我们遍历过程中,是从尾部到 首 所以 相同下边 的 和 = A1 + B1 + T(T为A0+B0的进阶) 我们先定义一个头节点 和尾节点 和进阶0 我们首先 while循环 判断 两个入参 有一个不为 阅读全文
posted @ 2022-07-22 16:29 铁柱97 阅读(42) 评论(0) 推荐(0) 编辑
摘要:首次看到这道题,想到661 二维数组 转 一维 example arr=[[1,2,3],[4,5,6],[7,8,9]] 回顾一下 m n 的二维数组 比如 arr [1] [0] =4; 那么 arr [i] [j] 当转换为一维数组的时候,为 i* n+j 比如 1*3+0=3 4的一维下表为 阅读全文
posted @ 2022-07-20 10:52 铁柱97 阅读(23) 评论(0) 推荐(0) 编辑
摘要:深度遍历 解题思路: 求出 左子树和右子树的深度 求出最大的值+1 就是结果 拆分 分析的话 也就是 具体每个节点的左子树与右子树进行判断,可以通过递归来 拆分成一个树,获取左节点 和右节点 ,判断两个的最大值+1 广度遍历 解题思路 把当前节点放入list集合中, 循环判断 不为空 获取集合的长度 阅读全文
posted @ 2022-06-28 10:15 铁柱97 阅读(23) 评论(0) 推荐(0) 编辑
摘要:刚看到本题 我的逻辑是 1.先求两者的差,取绝对值 大于1的话 那就直接返回false 2.判断两者字符串是否相等,相等的话 返回true 3.需要判断两者字符串的不同 要比较插入,删除 替换,想法是通过如果是不同长度 补齐字符串来进行遍历比较,显然我的思路是不正确的 看题解 1.2 3 思路相同, 阅读全文
posted @ 2022-05-13 10:34 铁柱97 阅读(14) 评论(0) 推荐(0) 编辑
摘要:采用 减法的 首先需要满足的是 arr[2*i+1]=2*arr[2*i] 即 arr[1]=2arr[0] arr[3]=2arr[2] arr[5]=2arr[4] 题目中数量不是很大,所以 我们先根据入参来进行排序,排序 阅读全文
posted @ 2022-04-01 09:51 铁柱97 阅读(23) 评论(0) 推荐(0) 编辑
摘要:读完题,立刻想到使用滑动窗口来进行统计 思路一(自己的思路 少判断了一种情况) 首先定义:左侧边界、右侧边界、循环的计算值、字符串的长度 判断 如果有一致的统计 右边界++ 计算值++ 反之 判断 如果k>0 使用一次K 判断 当K使用完了 还有特殊情形 1、k用完了后面还有符合条件 2、k没用完, 阅读全文
posted @ 2022-03-29 13:47 铁柱97 阅读(33) 评论(0) 推荐(0) 编辑
摘要:题目描述是输入一个数 判断二进制位数 有无连续的数 1.我们可以根据统计二级制中1的个数来进行变形做本题,先定义一个当前数 循环遍历 先判断最后一位数 进行(n&1) 获取最后位的二进制数,和当前cur进行异或判断==0 异常 相同为0 不同为1 然后如果为0 代表有连续的,我们就 return f 阅读全文
posted @ 2022-03-28 10:12 铁柱97 阅读(46) 评论(0) 推荐(0) 编辑
摘要:本题我最开始使用的是无脑的方法: 采用阶乘 算出和之后 转字符串遍历charAt 下表 取0 求和 太***了 但我忘记了 阶乘后的数溢出了 后来看题解发现 本题的实质是 求 5出现的次数, 如 10= 这里有个技巧是 输入n/5 获取到 5的倍数的个数 但这里还需计算5的个数 原味是 25 75 阅读全文
posted @ 2022-03-25 10:13 铁柱97 阅读(23) 评论(0) 推荐(0) 编辑
摘要:如第2行第2列的50这个数,其矩阵的坐标是(i=1,j=1),而映射到一维数组的时候,其对应的下标索引=4idx=4=i*n+j=1*3+1=4而如何通过idx=6反向得到矩阵的坐标呢?i=索引/n=4/3 =1 /3 3是数组二位的定长j=索引%n=4%3=1得到矩阵的坐标为(i,j) ==>(1 阅读全文
posted @ 2022-03-24 09:33 铁柱97 阅读(17) 评论(0) 推荐(0) 编辑
摘要:记录链表翻转算法总结,防止脑子今天会了 明年不会 常见的形式 1. 遍历next 2. 递归 递归的思想是 先找到尾节点,然后进行返回,当返回倒数第二个节点时,head.next.next=尾结点的下一个指向为当前节点,但现在是一个双向的状态,倒数第二个相互指向倒数第一个,这个时候需 将倒数第二个节 阅读全文
posted @ 2022-03-23 10:28 铁柱97 阅读(28) 评论(0) 推荐(0) 编辑

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