算法
文章平均质量分 76
Ombré_mi
这个作者很懒,什么都没留下…
展开
-
回溯算法理论基础
目录回溯算法理论基础什么是回溯法?回溯法的效率回溯法解决的问题如何理解回溯法回溯法模板总结题目分类大纲如下:回溯法也可以叫做回溯搜索法,它是一种搜索的方式;回溯是递归的副产品,只要有递归就会有回溯。所以以下讲解中,回溯函数也就是递归函数,指的都是一个函数回溯法的性能如何呢,这里要和大家说清楚了,虽然回溯法很难,很不好理解,但是回溯法并不是什么高效的算法。因为回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案,如果想让回溯法高效一些,可以加一些剪枝的操作,但也改不了回溯法就是穷举的本质。那么既然回溯法并转载 2022-07-09 16:52:06 · 197 阅读 · 0 评论 -
【滑动窗口问题】详解
基本概念滑动窗口是一种基于双指针的一种思想,两个指针指向的元素之间形成一个窗口。应用:什么情况可以用滑动窗口来解决实际问题呢?一般给出的数据结构是数组或者字符串 求取某个子串或者子序列最长最短等最值问题或者求某个目标值时 该问题本身可以通过暴力求解滑动窗口详解 - 知乎 (zhihu.com)...原创 2022-04-19 09:48:58 · 1599 阅读 · 4 评论 -
《剑指Offer》--- 数据结构の链表篇
✨知识回顾✨小伙伴还记得 head,node,val,prev 和 next,以及链表的一些基础操作嘛?如果忘记了,那就一起来回顾一下吧🌞👉数据结构---链表面试题6:从尾到头打印链表题目:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)示例:输入:head = [2,5,7]输出:[7,5,2]链接:剑指 Offer 06方法一:题目要求用数组返回,我们只需要创建一个链表节点数大小的数组,然后在数组中从后往前输入链表的结点打印即可。.原创 2022-04-11 16:50:22 · 1417 阅读 · 11 评论 -
《LeetCode》--- 杨辉三角Ⅰ,Ⅱ
杨辉三角Ⅰ:给定一个非负整数numRows,生成「杨辉三角」的前numRows行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。示例1:输入:numRows = 5输出: [ [ 1 ],[ 1,1 ],[ 1,2,1 ],[ 1,3,3,1 ],[ 1,4,6,4,1 ] ]示例2:输入:numRows = 1输出:[ [ 1 ] ]题目链接:LeetCode-Solution解题思路:由上图可以看出,每个数字等于上一行的左右两个数字之和,可用此性质...原创 2022-03-28 19:28:29 · 534 阅读 · 0 评论 -
《剑指Offer》--- 数据结构の数组篇Ⅱ
面试题21:调整数组顺序使奇数位于偶数前面题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。在不考虑时间复杂度的条件下,最简单的思路是遍历整个数组,每碰到一个偶数,拿出这个数,并把位于这个数字后面的所有数字往前挪一位。挪完之后在数组的末尾有一个空位,这时把该偶数放入这个空位。时间复杂度O(n^2)。新思路:由题目可知,最后所有得奇数都在偶数前面,也就是说,我们在扫描这个数组的时候,如果发现有偶数出现在奇数前面,则交换它原创 2022-03-27 15:11:57 · 834 阅读 · 11 评论 -
《LeetCode》--- 两数の和Ⅰ,Ⅱ,Ⅲ,Ⅳ
各位小伙伴,欢迎大家和我一同步入算法专栏;在接下来的篇章中,我会详细讲述,总结自己在刷算法题中的一些技巧和方法,提高自己的算法能力,希望感兴趣的小伙伴能和我一起学习,共同进步✌✌✌题目一:两数之和Ⅰ给定一个整数数组 nums和一个整数目标值 target,请你在该数组中找出 和为目标值 target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。题目链接:...原创 2022-03-20 20:18:31 · 1360 阅读 · 1 评论 -
《剑指Offer》--- 数据结构の数组篇Ⅰ
面试题1:数组中重复的数字题目一: 找出数组中重复的数字。 在一个长度为 n 的数组里的所有数字都在 0 ~ n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。...原创 2022-03-17 16:28:13 · 899 阅读 · 1 评论