avatar
文章
113
标签
73
分类
44
首页
分类
标签
那年夏十七Leetcode刷题路线
首页
分类
标签

Leetcode刷题路线

发表于2022-11-15|更新于2025-03-21|算法、数据结构
|浏览量:

网站地址:代码随想录 (programmercarl.com)

学习记录

一、数组

代码随想录-数组

  1. 二分查找 2022-10-27
  2. 27. 移除元素 2022-10-28
  3. 977. 有序数组的平方 2 2022-10-29
  4. 209. 长度最小的子数组 2022-10-29
  5. 59. 螺旋矩阵 II 2022-10-29

二、链表

代码随想录-链表

  1. 203.移除链表元素
  2. 707.设计链表
  3. 206.反转链表
  4. 24. 两两交换链表中的节点
  5. 19.删除链表的倒数第N个节点
  6. 160.链表相交
  7. 142.环形链表II
文章作者: xia17
文章链接: http://xia17.top/20221115/%E7%AE%97%E6%B3%95%E3%80%81%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/Leetcode%E5%88%B7%E9%A2%98%E8%B7%AF%E7%BA%BF/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 那年夏十七!
算法数据结构Leetcode
上一篇
jpa原生sql返回非entity对象
jpa原生sql返回非entity对象参考文章:Spring Data Jpa 原生SQL返回自定义对象最简洁方式 - evan888的个人空间 - OSCHINA - 中文开源技术交流社区 在使用spring-data-jpa的过程中有一个问题一直困扰于我,就是在repository中写自定义sql时需要返回自定义对象时,一直没有发现有良好的接收方式。今天我在这里分享下我的已知解决办法。 一、使用map接收123@Query(nativeQuery = true,value = """ select id , name , sub_count , 'test_one' as test_one , 'testTwo' as testTwo , create_time from sys_dept """) List<Map<String,Object>>...
下一篇
springboot如何在启动时执行指定方法
[TOC] springboot事件监听机制一、什么是事件监听机制?事件监听机制,顾名思义,就是对一个事件进行监听,当有外界刺激作用于该事件时能被捕获并产生相应的响应。 如果你知道设计模式,那么你就知道他和观察者模式非常像,监听器就是在观察事件,如果发生就去做相应的事情。 二、springboot中的事件监听机制springboot内置了一套非常便捷的事件监听机制的实现,现在我们通过一个简单的案例来了解下他如何使用。 我们需要在调用登录接口的时候做以下两件事。 1、打印登录日志 2、给用户增加积分 2.1 不使用事件监听机制的登录代码1234567891011121314151617/** * 登录 * @param username 用户名 * @param password 密码 * @return / */@PostMapping("login")public Back<Object> login(String username,String password){ if...
相关推荐
2019-11-11
时间、空间复杂度
...
2019-12-01
排序(一)冒泡排序,选择排序
排序(一)冒泡排序,选择排序一、冒泡排序1.1 原理比较两个相邻的元素,将值大或值小的一方交换到右侧,这样一轮下去最右边的值就会是最大或最小的值。第二次的时候就不需要比较到最后一位置。多次之后即完成排序 1.2 优点每进行一趟排序,就会少比较一次,因为每进行一趟排序都会找出一个较大值。如上例:第一趟比较之后,排在最后的一个数一定是最大的一个数,第二趟排序的时候,只需要比较除了最后一个数以外的其他的数,同样也能找出一个最大的数排在参与第二趟比较的数后面,第三趟比较的时候,只需要比较除了最后两个数以外的其他的数,以此类推……也就是说,没进行一趟比较,每一趟少比较一次,一定程度上减少了算法的量。 1.3...
2019-12-05
排序(七)希尔排序
排序(七)希尔排序一、描述希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。 希尔排序是基于插入排序的以下两点性质而提出改进方法的: 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率; 但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位; 希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行依次直接插入排序。 直接插入排序 http://xia17.chukongxiang.top:8017/articles/2021/02/26/1614334116912.html 二、步骤选择一个增量序列 t1,t2,……,tk,其中 ti > tj, tk = 1; 按增量序列个数 k,对序列进行 k 趟排序; 每趟排序,根据对应的增量 ti,将待排序列分割成若干长度为 m 的子序列,分别对各子表进行直接插入排序。仅增量因子为 1...
2019-12-02
排序(三)归并排序
排序(三)归并排序1 描述归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并排序是一种稳定的排序方法。– 百度百科 2 步骤 将数组分成两个部分,一般是取中值分成大小相差不大于1的两个数组 左右两边数组继续执行步骤一,直至数组长度变为1 (递归)结束条件是数组大小为1 将左右两边排过序的数组进行合并(数组里只有一个数自然就是有序的了) 3 图示过程引用自 : https://www.jianshu.com/p/33cffa1ce613 3.1 流程 3.2 合并两个有序数据的流程 4 复杂度 时间复杂度:O(nlogn) **空间复杂度:O(N)**,归并排序需要一个与原数组相同长度的数组做辅助来排序 稳定性:归并排序是稳定的排序算法 5...
2019-12-01
排序(二)桶排序,基数排序
排序(二)桶排序,基数排序一、桶排序1.1 描述如果我们有N个整数,范围从min到max(min 必须为正数),我们可以利用这个信息得到一种快速的排序,叫做桶式排序(bucket sort)。我们留置一个数组,称之为Count,大小为M (max - min +1),并初始化为零。于是,Count有M个单元(或桶),开始时他们都是空的。当Ai被读入时,Count[Ai - len]增1。在所有的输入被读进以后,按顺序扫描数组Count,打印count[i] 次 的 i + len。输出的i+len 值就是排序完成的数据。该算法花费O(M+N) 1.2代码1234567891011121314151617181920/** * 桶式排序 * @param data * @param min 最小值 * @param max 最大值 */public void bucketSort(int[] data, int min, int max) { //桶数组 int[] bucket = new int[max - min + 1 ]; // 读取源数据...
2019-12-03
排序(五)快速排序
排序(五)快速排序一、定义百科中的快速排序的介绍是: 快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 二、实现思路从数据中选择一个基准数,将整个数据中比基准数小的放到基准数的左边,比基准数大的数放到右边。这样整个数据就分成了两个部分,再将两个部分的数据通过递归在执行前面的操作,重复即可完成排序。 整个算法中基准数的选择绝定了算法的效率一般有三种方式。 1》将数据中的第一个数作为基准数,在随机的数据中效率还行,但在反序的数据中效率低下。 2》随机选择一个数为基准数,因为每次都要随机产生基准数效率有所降低。 ...
avatar
xia17
文章
113
标签
73
分类
44
Follow Me
公告
桃花依旧笑春风
目录
  1. 1. 学习记录
    1. 1.1. 一、数组
    2. 1.2. 二、链表
最新文章
docker安装jenkins2025-03-24
jenkins部署maven项目2025-03-24
使用vscode编辑markdown(未完成)2025-03-24
centos安装docker2025-03-21
搭建yapi-20242024-04-05
©2019 - 2025 By xia17
赣ICP备2021003641号-1