我的算法笔记
文章平均质量分 55
VivienneW_w
这个作者很懒,什么都没留下…
展开
-
数据结构:二分图
Definition原创 2024-01-16 13:55:39 · 421 阅读 · 0 评论 -
一个字符串,从首尾取字符拼成字典序最小的字符串
字符串,每次从首部或尾部取一个字符,拼接成目标字符串,使得字典序最小。用例原字符串:abcadbcb,转化后字符串:abbcacbd原字符串:abcbdacb,转化后字符串:abbcacbd原字符串:aaabdaaa,转化后字符串:aaaaaabd代码public String procString(String s){ if(s==null || s.length() <...原创 2019-08-15 10:58:52 · 1393 阅读 · 2 评论 -
输入一个N*N矩阵,顺时针旋转90度后,打印出来
输入一个N*N矩阵,顺时针旋转90度后,打印出来思路把矩阵分成四块,顺时针移动四块的内容。外层只需遍历n/2次。旋转前矩阵[1, 2, 3, 4][5, 6, 7, 8][9, 10, 11, 12][13, 14, 15, 16]旋转90度后矩阵[13, 9, 5, 1][14, 10, 6, 2][15, 11, 7, 3][16, 12, 8, 4]代码//输入一...原创 2019-08-14 23:48:30 · 3278 阅读 · 0 评论 -
查找字符串中最长的回文子串
给定一个字符串 s,找到 s 中最长的回文子串。原创 2019-08-14 23:34:28 · 3938 阅读 · 0 评论 -
查找字符串中的所有的回文子串
思路1、暴力法O(n^3)+O(n)遍历字符串中所有的子串组合,判断每个子串是否是回文串。其中遍历需要2层循环,判断回文串函数也是一层循环,故时间复杂度是O(n^3)。每次判断需要存储子串的内容,需要空间复杂度O(n)。2、中心拓展法O(n^2)遍历一遍字符串,以下标为中心,考虑子串长度是奇数或偶数,在这两种情况下拓展子串,判断子串是否是回文串。假设子串长度是奇数,选择一个字符为中心,...原创 2019-08-14 17:00:09 · 7664 阅读 · 0 评论 -
判断一个字符串是否是回文串
回文的定义回文数就是正读倒读都一样的整数。例如奇数个数字:98789,这个数字正读是98789,倒读也是98789。偶数个数字:3223,也是回文数。字母:abcba 也是回文串。单个数字或字母默认是回文串。思路将字符串转为字符数组,从首末位置开始,向中间一一比较对称位置字符是否相同。使用for循环代码public static boolean isHuiWen1(String...原创 2019-08-14 15:57:59 · 1868 阅读 · 0 评论 -
链表相关算法
链表相关算法建立单向有环/无环链表判断链表是否有环如果有环,找出链表的入环节点如果有环,求环的长度如果有环,求链表的长度打印单向链表求单向链表的长度反转链表,返回新链表的头结点链表中倒数第k个节点对于排序链表中重复的结点,删除所有重复节点对于排序链表中重复的结点,删除多余的,只保留一个合并两个排序的链表,返回新链表的头结点,递归合并两个排序的链表,返回新链表的头结点,迭代...原创 2019-08-08 14:56:36 · 126 阅读 · 0 评论 -
回文串
回文串判断字符串是否是回文串查找字符串中最长的回文子串查找字符串中所有的回文子串执行结果代码import java.util.ArrayList;public class StringSeriesOne { //判断字符串是否是回文串 public boolean isPalindrome(String s){ if(s == null) retu...原创 2019-08-08 14:51:20 · 111 阅读 · 0 评论 -
各种常用排序算法性能
排序方法最好时间复杂度平均时间复杂度最坏时间复杂度空间复杂度(辅助存储)稳定性适用情况插入排序O(N)O(N^2)O(N^2)O(1)稳定√数据量小,部分或整体有序希尔排序O(N)O(N^1.3)O(N^2)O(1)不稳定选择排序O(N^2)O(N^2)O(N^2)O(1)不稳定数据量小,对稳定性无要求堆排序O(...原创 2019-08-08 14:48:05 · 199 阅读 · 0 评论 -
连续子数组的最大和
连续子数组的最大和执行结果代码import java.util.Arrays;public class ArraySeriesOne { //连续子数组的最大和:数组分析,累加和 public int MaxSumOfSubArray(int[] array){ if(array==null || array.length ==0) return 0;...原创 2019-08-08 13:59:39 · 84 阅读 · 0 评论 -
排序相关算法
排序相关算法冒泡排序选择排序插入排序归并排序快速排序堆排序执行结果代码import java.util.Arrays;public class SortSeries { //冒泡排序 public void bubbleSort(int[] array){ if(array == null || array.length == 0) re...原创 2019-08-08 12:00:42 · 91 阅读 · 0 评论 -
二叉树相关算法(递归&迭代)
二叉树系列算法学习(递归&迭代)数组建二叉树深度(前序、中序、后序)遍历广度(层次序)遍历树的深度建树 1 / \ 2 3 / \ / \ 4 5 6 7 \ / /\ / 8 9 10 11 ...原创 2019-08-08 11:55:36 · 130 阅读 · 0 评论