
算法
文章平均质量分 71
算法
与宇宙对视
freedom.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法之快慢指针
文章目录删除有序数组中的重复项删除排序链表中的重复元素移除元素移动零删除有序数组中的重复项26. 删除有序数组中的重复项这道题我们尝试使用快慢指针来解题:快指针在前面进行对数组元素的遍历,慢指针判断,如果与快指针所指的元素不同,那么指针向右移动,然后进行赋值,最后新数组的长度等于慢指针的索引加1。//这里我们使用快慢指针/** * @param {number[]} nums * @return {number} */var removeDuplicates = function(n原创 2022-04-21 11:29:47 · 491 阅读 · 3 评论 -
算法学习(寒假打卡)——06二叉树的前中后以及层序遍历
二叉树的前中后序遍历以及层序遍历一、复习二叉树的遍历前序遍历(根左右)中序遍历(左根右)后序遍历(左右根)层序遍历(从根到叶,从左到右,按照层级一层一层排)二、代码实现1、实现2、算法题[144. 二叉树的前序遍历](https://leetcode-cn.com/problems/binary-tree-preorder-traversal/)[94. 二叉树的中序遍历](https://leetcode-cn.com/problems/binary-tree-inorder-traversal/)[14原创 2022-02-14 22:41:17 · 412 阅读 · 1 评论 -
算法学习(寒假打卡)——05反转单词前缀(java中简单方法的了解)
2000.反转单词前缀给你一个下标从 0 开始的字符串 word 和一个字符 ch 。找出 ch 第一次出现的下标 i ,反转 word 中从下标 0 开始、直到下标 i 结束(含下标 i )的那段字符。如果 word 中不存在字符 ch ,则无需进行任何操作。例如,如果 word = “abcdefd” 且 ch = “d” ,那么你应该 反转 从下标 0 开始、直到下标 3 结束(含下标 3 )。结果字符串将会是 “dcbaefd” 。返回 结果字符串 。示例 1:输入:word = “abc原创 2022-02-14 10:24:58 · 446 阅读 · 2 评论 -
算法学习(寒假打卡)——04合并两个有序数组(双指针)
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。示例 1:输入: nums1 = [1,2,3,原创 2022-01-17 17:36:56 · 450 阅读 · 0 评论 -
算法学习(寒假打卡)——03进阶的斐波那契数(爬楼梯)
今天看到与斐波那契数相同类型的题就想着尝试一下,然后没有“写出来规律”,害,还是算法练得少,思想不够!!!不过想题的过程还是很有趣的,总觉得马上要出来了出来了,一运行,咦????。所以还需要多多努力,把基础给掌握牢鸭~~拿来吧爬楼梯!70. 爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。刚开始我列出来了前五阶楼梯的爬法,一直在思考里面的排列组合方式,但是这样只可以想到前面几个小的数,但是后面原创 2022-01-13 21:28:32 · 283 阅读 · 1 评论 -
算法学习(寒假打卡)——02斐波那契数、泰波那契数
509. 斐波那契数斐波那契数,通常用 F(n) 表示,形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n - 2),其中 n > 1给你 n ,请计算 F(n) 。1、//列表实现public int fib(int n) { if(n == 0) return 0; if(n == 1) return 1; ArrayList&l原创 2022-01-12 09:56:40 · 3651 阅读 · 0 评论 -
算法学习(寒假打卡)——01二分查找
704.二分查找 简单给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。public int search(int[] nums, int target) { int left = 0; int right = nums.length - 1; while(left <= right){ int mid = left+(right-l原创 2022-01-10 21:06:01 · 180 阅读 · 2 评论 -
算法学习之——二分法解题超详细
【二分法】解题步骤超详细!什么是二分法二分法的通用格式寻找一个数(基本的二分搜索)什么是二分法二分法,也称为折半法,是一种在有序数组中查找特定元素的搜索算法。二分法查找的思路如下:(1)首先,从数组的中间元素开始搜索,如果该元素正好是目标元素,则搜索过程结束,否则执行下一步。(2)如果目标元素大于/小于中间元素,则在数组大于/小于中间元素的那一半区域查找,然后重复步骤(1)的操作。(3)如果某一步数组为空,则表示找不到目标元素。二分法查找的时间复杂度O(logn)。二分法的通用格式int转载 2021-11-02 16:04:47 · 14964 阅读 · 0 评论 -
前缀和以及二分法解题
1、寻找数组的中心索引解法1:初始解法思路: 长度为1的数组,中心索引一定是它本身的那个唯一元素,左右两边的和都为0。长度为2的数组,除非两个元素都为0 那么这样才存在中心索引,且选最左边的0长度大于等于2的数组:我们现在讨论普遍的情况,令索引 i 左边的值相加和索引右边的值相加的和作比较,相等的话直接返回i。太慢了!!!public static int pivotIndex1(int[] nums) { if(nums.length == 1) return 0; if(num原创 2021-09-19 22:34:11 · 359 阅读 · 2 评论