算法
一只不出息的程序员
致力于构建人类美好生活的程序员
展开
-
子集---组合---排列
子集---组合---排列一、子集本文主要介绍求子集(subset),求排列(permutation),求组合(combination)三种问题,并且都结合回溯的思想解决问题。一、子集leetcode:https://leetcode-cn.com/problems/combinations/solution/hui-su-si-xiang-tuan-mie-pai-lie-zu-he-zi-ji-wen-2/问题描述:输入一个不包含重复数字的数组,要求算法输出这些数字的所有子集。vector&l原创 2020-09-01 11:42:32 · 633 阅读 · 1 评论 -
子序列与子串问题(最长公共、最长递增)
子序列与子串问题(最长公共、最长递增)概念1. 最长公共子序列(LCS)1.1 问题描述1.2 思路上一期总结了leetcode 中的关于最长回文子串问题的解决方法,大概分为:暴力枚举、动态规划、马拉车算法(Manacher)、中心扩展等,其中有一种可以转换为最长公共子串解决的方法,顿时想到了许多关于子串和子序列的众多问题,其中包括最长公共子序列和最长公共子串的问题,最长递增子序列的问题等等,现在做一下总结。概念(1)字符子串:指的是字符串中连续的n个字符,如abcdefg中,ab,cde,fg等都属原创 2020-08-18 16:58:04 · 681 阅读 · 0 评论 -
最长回文子串(Longest Palindromic Substring)
最长回文子串(Longest Palindromic Substring)题目解析题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”解析子串(substring):原始字符串的一个连续子集;子序列(subsequence):原始字符串的一个子集;区别:子串连续,子序列不必连续一般处理:先计算出子串的长度原创 2020-08-11 22:16:46 · 3515 阅读 · 0 评论 -
排序算法详解及代码
排序算法排序算法介绍一、插入排序---直接插入排序(Insertion Sort)二、插入排序---希尔排序(Shell`s Sort)三、交换排序---冒泡排序(Bubble Sort)四、选择排序---简单选择排序(Simple Selection Sort)五、选择排序---堆排序(Heap Sort)六、交换排序---快速排序(Quick Sort)排序算法介绍排序算法一般是指将有数字大小关系的序列,对其进行操作,得到一次有序的序列关系。内部排序:内部排序算法(只访问内存),外部排序是因排序原创 2020-07-06 19:00:53 · 449 阅读 · 0 评论