算法
文章平均质量分 69
__小柒
小柒会好好敲代码的~
展开
-
4【每天刷力扣(LeetCode)代码详细讲解-链表相交
本文章是力扣 (LeetCode)的内容,该专栏还有很多每日刷题的内容等待你去探索,期待你的到来-----欢迎关注订阅!!! 题目描述 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果后,链表必须 保持其原始结构 。 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5],原创 2021-10-12 08:00:00 · 28 阅读 · 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 · 71 阅读 · 2 评论 -
2【每天刷力扣(LeetCode)代码详细讲解-股票的最大利润
剑指 Offer 63. 股票的最大利润假原创 2021-10-10 08:00:00 · 36 阅读 · 1 评论 -
1【每天刷力扣(LeetCode)代码详细讲解-两数相加(链表)
题目描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/add-two-numbers 思路讲解 问题: 怎么相加?相加之后存放在哪里?有进位怎么办? 相加的几种情况: 1.其中一个链表遍历完成,另外一个链表还没有原创 2021-10-09 16:53:13 · 70 阅读 · 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 · 330 阅读 · 2 评论 -
算法---分治策略(快排)
分治策略之快速排序 快速排序是对冒泡排序算法的一种改进,快速排序在面试过程中被提到的概率还是很大的,本文章我将介绍一下有关快速排序的一些问题。 算法思想 (1)指定一个定界值,通过该值会将数组分成两部分 (2)将大于定界值的数据都放在右边,小于等于定界值的数据都放在左边,此时,以定界值为中心,左边全部都是小于等于定界值的数,右边全部都是大于定界值的数 (3)将左边的数据拿出来,又重新找一个定界值,重复上面的操作。右边的值也是相同的操作。 (4)可见,上面的操作是一个递归的过程,等左右两边的数据都进行完毕,即原创 2021-10-06 14:30:24 · 329 阅读 · 1 评论 -
算法---分治策略(二分查找)
一、二分查找 二分查找也成为二分折半查找,在有序的数组中(数据量较大)查找一个数据速度是很快的,类似于二分查找的思想在生活中也是处处可见的。 就比如说猜数字游戏: 在1-100之间猜到对方想到的数字 首先说56,对方说小了,那么接下来你说出数字的范围肯定就在57-100之间 再一次78,对方说大了,那么接下来就要在57-77之间 … 次数 范围 说出的数据 实际数字 第一次 0-100 56 60 第二次 57-100 78 60 第三次 57-77 65 60 … … … …原创 2021-10-04 08:00:00 · 968 阅读 · 1 评论