数据结构和算法理论和实践
文章平均质量分 70
数据结构和算法理论和实践
青风微凉
程序员。写过:编程之美,设计思想感悟,大型网站架构演变。
展开
-
⭐LeetCode 题库⭐ 2. 两数相加
LeetCode | 2. 两数相加文章目录LeetCode | 2. 两数相加一、题面二、题解思路和算法代码复杂度分析执行结果一、题面两数相加给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.原创 2021-08-31 19:35:26 · 126 阅读 · 0 评论 -
⭐LeetCode 题库⭐ 3. 无重复字符的最长子串
LeetCode | 3. 无重复字符的最长子串文章目录LeetCode | 3. 无重复字符的最长子串一、题面二、题解思路和算法一、双重循环动态滑块代码复杂度分析执行结果二、单层循环动态滑块(优化)代码复杂度分析执行结果一、题面给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无原创 2021-09-01 17:25:08 · 283 阅读 · 2 评论 -
⭐LeetCode 题库⭐ 1. 两数之和
两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], ta.原创 2021-08-30 15:31:17 · 151 阅读 · 0 评论 -
字符串模拟大数解决运算问题
加法乘法原创 2021-05-11 21:02:25 · 155 阅读 · 0 评论 -
排序算法(02)—— 选择排序
文章目录前言算法原理算法原理示例说明算法分析时间复杂度算法稳定性算法描述Java 代码实现前言选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。算法原理算法原理选择排序算法的原理如下:首先在未排序序列中找到最小(大)元素,存放到排序序列原创 2021-02-23 09:16:15 · 4650 阅读 · 2 评论 -
排序算法(01)—— 冒泡排序
文章目录文章目录文章目录前言算法原理算法分析时间复杂度算法稳定性算法描述Java 代码实现前言冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样原创 2021-02-22 15:14:17 · 250 阅读 · 0 评论