
数据结构与算法基础
ArcherLue
这个作者很懒,什么都没留下…
展开
-
Java编程 数据结构与算法 多线程并发
文章目录1. 数据结构2. 算法排序动态规划DFS深度优先搜索BFS广度优先搜索双指针窗口3. 多线程并发4. 其他1. 数据结构下压栈(动态数组实现)下压栈 (链表实现)2. 算法排序排序(选择、冒泡、插入、希尔、堆、归并、快排)### 递归递归练习1,从键盘接收一个文件的路径,统计该文件的大小递归练习2 从键盘接收一个文件夹路径,删除该文件夹递归练习3 从键盘接收两个...原创 2019-04-27 19:27:18 · 505 阅读 · 0 评论 -
01矩阵最大正方形面积、01矩阵最大矩形面积、直方图最大矩形面积
01矩阵最大正方形面积题意:给定一个矩阵,其中的元素为0或者1,要求找出其中元素全为1的面积最大的正方形。题解:动态规划:对每个元素,把以其为右下角,元素全为1的正方形的最长边长记录下来。如果以元素a(i, j)为右下角的正方形边长为b,那么以a(i-1, j)为右下角的正方形边长肯定为b-1,且以a(i, j-1)为右下角的正方形边长为b-1,否则正方形的边不完整。01矩阵最大矩形面积...原创 2019-05-07 15:27:29 · 4114 阅读 · 2 评论 -
N皇后问题 LeetCode51. N-Queens
题意:在 n*n 的矩阵中摆放 n 个皇后,并且每个皇后不能在同一行,同一列,同一对角线上,求所有的 n 皇后的解。题解:一行一行地摆放,在确定一行中的那个皇后应该摆在哪一列时,需要用三个标记数组来确定某一列是否合法,这三个标记数组分别为:列标记数组、45 度对角线标记数组和 135 度对角线标记数组。45 度对角线标记数组的长度为 2 * n - 1,通过下图可以明确 (r, c) 的位置...原创 2019-05-09 21:58:22 · 231 阅读 · 0 评论 -
数独(LeetCode37. Sudoku Solver ) 回溯法-java
百科:数独盘面是个九宫,每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件,利用逻辑和推理,在其他的空格上填入1-9的数字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次,所以又称“九宫格”。如下所示:给定一个空缺的9宫格,完成数独,给出一种结果就好,想要多个结果的(用list集合装,把backTracking函数返回值改为void就好了)结题思路:回溯法从头到尾遍...原创 2019-05-09 21:52:24 · 266 阅读 · 0 评论 -
最短单词路径 LeetCode127
Input:beginWord = “hit”,endWord = “cog”,wordList = [“hot”,“dot”,“dog”,“lot”,“log”,“cog”]Output: 5Explanation: As one shortest transformation is “hit” -> “hot” -> “dot” -> “dog” -> “c...原创 2019-05-05 21:40:58 · 320 阅读 · 0 评论 -
字符串相乘 LeetCode43
给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。示例 1:输入: num1 = “2”, num2 = “3”输出: “6”示例 2:输入: num1 = “123”, num2 = “456”输出: “56088”说明:num1 和 num2 的长度小于110。 num1 和 num2 只包...原创 2019-05-05 19:59:52 · 160 阅读 · 0 评论 -
贪心算法-给定总额N和不同的面值arr[],找arr[]中面值能够组合从1到N所有值的最小数量
给定总额N和不同的面值arr[],找arr[]中面值能够组合从1到N所有值的最小数量分析:贪心算法,arr[]没有1返回错误对arr排序,如【1,3,5,10】,先从最小的面额开始组合(即1),设当前组合能达到的最大金额为M,当M<3-1时,不能用3,还得用1,当M=2(两个1组合)是,M>=3-1,表示3以下的都已经可以组合了,那么现在就可以用3这个面值了,用了3后,M=M+...原创 2019-04-28 20:00:04 · 477 阅读 · 0 评论 -
排序java实现(选择、冒泡、插入、希尔、堆、归并、快排)
文章目录1. 选择排序2. 冒泡排序3. 插入排序4. 希尔排序5. 堆排序6. 归并排序7. 快排1. 选择排序package MySort;import java.util.Arrays;/** * 选择排序 * @author Archerlu * */public class SelectSort { public static void main(String[]...原创 2019-04-27 19:22:38 · 263 阅读 · 0 评论 -
数组元素之和组合问题(递归-回溯)
问题:给定一个数组arr和整数target,求数组元素之和为target的组合可以限定组合的元素个数可以要求组合是否可以重复(例如{1,1,2,3}中能够组合和为4的有{1,3}和{1,3}还是只能一个{1,3})上代码/**给定一个数组,求数组中给定个数count个元素之和为target的组合 * @author Archerlu * */public class Combina...原创 2019-04-26 20:15:30 · 697 阅读 · 0 评论 -
Java实现查找最短匹配字符串(LeetCode最短窗口子字符串)
最小窗口子字符串给定一个字符串 S 和一个字符串 T,请在 S 中找出包含 T 所有字母的最小子串。示例:输入: S = “ADOBECODEBANC”, T = “ABC”输出: “BANC”如果 S 中不存这样的子串,则返回空字符串 “”。如果 S 中存在这样的子串,我们保证它是唯一的答案。分析:分析思路参考:https://blog.youkuaiyun.com/whdAlive/a...原创 2019-04-26 13:28:41 · 2941 阅读 · 0 评论 -
数组排序-希尔排序Java实现
希尔排序:核心思想:将数组arr按照等差的思想分为几个小数组,分组的梯度为gap如arr={1,13,15,3,8,5,2,9,12,6};设gap初始为5,即为递增值,小数组分为{1,5},{13,2},{15,9},{3,12},{8,6},用插入排序对小数组排序,得{1,5},{2,13},{9,15},{3,12},{6,8}。PS:不是真的声明了数组,还是在arr中操作的,只不过...原创 2019-02-27 10:50:35 · 323 阅读 · 0 评论 -
先进先出队列(链表实现)
import java.util.Iterator;import java.util.NoSuchElementException;public class Queue<Item> implements Iterable<Item> { private Node<Item> first; // beginning of queue ...原创 2019-02-19 10:16:42 · 692 阅读 · 0 评论 -
下压堆栈(链表实现)
import java.util.Iterator;import java.util.NoSuchElementException;public class Stack<Item> implements Iterable<Item> { private Node<Item> first; // top of stack pri...原创 2019-02-19 10:03:18 · 119 阅读 · 0 评论 -
下压栈(LIFO)动态调整数组大小
package chapter_01;import java.util.Iterator;public class ResizingArrayStack<Item> implements Iterable<Item> { @Override public Iterator<Item> iterator() { return new Rever...原创 2019-02-19 09:36:04 · 397 阅读 · 0 评论 -
二分查找
二分查找-Java实现package chapter_01;import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class DoubleSort { public static void main(String[] args) { int[] arr = {4,5,6...原创 2019-02-19 09:33:11 · 99 阅读 · 0 评论 -
最长字符串-列表元素与指定字符匹配的最长字符串-双指针问题LeetCode524. Longest Word in Dictionary through Deleting
题目描述:删除 s 中的一些字符,使得它构成字符串列表 d 中的一个字符串,找出能构成的最长字符串。如果有多个相同长度的结果,返回第一个字符串。Input:> s = “abpcplea”, d = [“ale”,“apple”,“monkey”,“plea”] Output: > “apple”package test;public class demo1 ...原创 2019-05-11 21:18:25 · 515 阅读 · 0 评论