算法
文章平均质量分 68
__小柒
小柒会好好敲代码的~
展开
-
4【每天刷力扣(LeetCode)代码详细讲解-链表相交
本文章是力扣 (LeetCode)的内容,该专栏还有很多每日刷题的内容等待你去探索,期待你的到来-----欢迎关注订阅!!!题目描述给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据 保证 整个链式结构中不存在环。注意,函数返回结果后,链表必须 保持其原始结构 。示例 1:输入:intersectVal = 8, listA = [4,1,8,4,5],原创 2021-10-12 08:00:00 · 59 阅读 · 0 评论 -
3【每天刷力扣(LeetCode)代码详细讲解-括号内字符串翻转
本文章是力扣 (LeetCode)的内容,该专栏还有很多每日刷题的内容等待你去探索,期待你的到来-----欢迎关注订阅!!!题目描述给出一个字符串 s(仅含有小写英文字母和括号)。请你按照从括号内到外的顺序,逐层反转每对匹配括号中的字符串,并返回最终的结果。注意,您的结果中 不应 包含任何括号。示例 1:输入:s = “(abcd)”输出:“dcba”示例 2:输入:s = “(u(love)i)”输出:“iloveu”示例 3:输入:s = “(ed(et(oc))el)”原创 2021-10-11 08:00:00 · 277 阅读 · 2 评论 -
2【每天刷力扣(LeetCode)代码详细讲解-股票的最大利润
剑指 Offer 63. 股票的最大利润假原创 2021-10-10 08:00:00 · 206 阅读 · 1 评论 -
1【每天刷力扣(LeetCode)代码详细讲解-两数相加(链表)
题目描述给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-two-numbers思路讲解问题:怎么相加?相加之后存放在哪里?有进位怎么办?相加的几种情况:1.其中一个链表遍历完成,另外一个链表还没有原创 2021-10-09 16:53:13 · 89 阅读 · 1 评论 -
基础数据结构---八大排序
文章目录1.(简单)直接插入排序2.希尔(shell)排序3.冒泡排序4.快速排序5.选择排序6.堆排序7.归并排序8.基数排序排序 : 笔试和面试的重点.1.算法描述;2.实现;3.效率分析(时间复杂度,空间复杂度,稳定性)难点 : 排序算法太多稳定性 : 针对关键字相同的数据(相同的数字),排序前如果A在A’的前面,排序后还能保证A在A’的前面则算法稳定,否则不稳定;有没有跳跃的交换数据,有则不稳定,没有则稳定第一个排序:(简单)直接插入排序.特点 数据越有序越快,完全有序则为O(n)第二个排原创 2021-10-03 08:00:00 · 350 阅读 · 2 评论 -
算法---分治策略(快排)
分治策略之快速排序快速排序是对冒泡排序算法的一种改进,快速排序在面试过程中被提到的概率还是很大的,本文章我将介绍一下有关快速排序的一些问题。算法思想(1)指定一个定界值,通过该值会将数组分成两部分(2)将大于定界值的数据都放在右边,小于等于定界值的数据都放在左边,此时,以定界值为中心,左边全部都是小于等于定界值的数,右边全部都是大于定界值的数(3)将左边的数据拿出来,又重新找一个定界值,重复上面的操作。右边的值也是相同的操作。(4)可见,上面的操作是一个递归的过程,等左右两边的数据都进行完毕,即原创 2021-10-06 14:30:24 · 372 阅读 · 1 评论 -
算法---分治策略(二分查找)
一、二分查找二分查找也成为二分折半查找,在有序的数组中(数据量较大)查找一个数据速度是很快的,类似于二分查找的思想在生活中也是处处可见的。就比如说猜数字游戏:在1-100之间猜到对方想到的数字首先说56,对方说小了,那么接下来你说出数字的范围肯定就在57-100之间再一次78,对方说大了,那么接下来就要在57-77之间…次数范围说出的数据实际数字第一次0-1005660第二次57-1007860第三次57-776560…………原创 2021-10-04 08:00:00 · 1011 阅读 · 1 评论