- 博客(17)
- 收藏
- 关注
原创 8皇后问题-java
经典的8皇后问题想必大家都知道。八皇后问题(英文:Eight queens),是由国际西洋棋棋手马克斯·贝瑟尔于1848年提出的问题,是回溯算法的典型案例。问题表述为:在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。其他的不啰嗦了,直接上代码package com.zk.datastruct.recursion;/** * @Description: * @ClassName: Queue8 * @Author:
2021-01-30 16:53:08 106
原创 赫夫曼树
赫夫曼树1.基本介绍(1)给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径长度(WPL : weighted path length)达到最小,称这样的二叉树为最优二叉树,也称哈夫曼树(Huffman Tree)。(2)哈夫曼树是带权路径长度最短的树,权值较大的结点距离根结点较近。2.赫夫曼树的几个重要概念(1)路径:在一棵树中,从一个结点往下可以达到的孩子或者孙子结点之间的通路,称之为路径。(2)路径长度:通路中分支(节点)的数目,称之为路径长度。若规定根结点的层数为1,则从根结
2021-01-30 16:44:04 179
原创 LeetCode.52 N皇后 II
原题https://leetcode-cn.com/problems/n-queens-ii/思路递归回溯,和上一题一毛一样题解package com.leetcode.code;import java.util.ArrayList;import java.util.List;/** * @Description: * @ClassName: Code52 * @Author: ZK * @Date: 2021/1/30 16:13 * @Version: 1.0 */p
2021-01-30 16:35:30 56
原创 LeetCode.51 N 皇后
原题https://leetcode-cn.com/problems/n-queens/思路递归回溯题解package com.leetcode.code;import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * @Description: * @ClassName: Code51 * @Author: ZK * @Date: 2021/1/30 14:36 * @Versi
2021-01-30 16:12:37 60 2
原创 LeetCode.49 字母异位词分组
原题https://leetcode-cn.com/problems/group-anagrams/思路哈希表,java自然而然的想到用map,关键是key如何设计,对于每一个字符串进行排序【重点】解题package com.leetcode.code;import java.util.*;/** * @ClassName Code49 * @Author ZK * @Description * @Date 2021/1/29 15:14 * @Version 1.0 **/
2021-01-29 16:06:01 76
原创 LeetCode.48 旋转图像
原题https://leetcode-cn.com/problems/rotate-image/思路先以 \ 对角线翻转(左上到右下)再以 | 中轴线翻转(左右翻转)解题package com.leetcode.code;/** * @ClassName Code48 * @Author ZK * @Description * @Date 2021/1/29 14:38 * @Version 1.0 **/public class Code48 { public s
2021-01-29 15:08:44 60
原创 堆排序
堆排序1.堆排序的基本介绍(1)堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏、最好、平均时间复杂度均为O(nlogn),它也是不稳定排序。(2)堆是具有一定性质的完全二叉树。(3)大顶堆:每个节点的值都大于或等于其左右孩子节点的值。(4)小顶堆:每个节点的值都小于或等于其左右孩子节点的值。注意: 没有要求节点的左孩子和右孩子的值的大小关系。大顶堆举例说明小顶堆举例说明(5)一般升序采用大顶堆,降序采用小顶堆。2.堆排序的思想(1)将待排序序列构造
2021-01-28 16:44:04 143
原创 LeetCode.724 寻找数组的中心索引
原题https://leetcode-cn.com/problems/find-pivot-index/思路前缀和:即先求出数组的总和,然后判断【依次叠加和】 与 【总和依次相减】 相等题解package com.leetcode.code;/** * @ClassName Code724 * @Author ZK * @Description * @Date 2021/1/28 14:23 * @Version 1.0 **/public class Code724 {
2021-01-28 15:12:31 67
原创 LeetCode.45 跳跃游戏 II
原题https://leetcode-cn.com/problems/jump-game-ii/思路贪心策略,从起点开始,每步都去选择走最大距离(当前步跨越距离+下一步可走最大距离)题解package com.leetcode.code;/** * @ClassName Code45 * @Author ZK * @Description * @Date 2021/1/27 14:50 * @Version 1.0 **/public class Code45 { p
2021-01-28 14:14:15 86
原创 LeetCode.43 字符串相乘
原题https://leetcode-cn.com/problems/multiply-strings/.思路解题package com.leetcode.code;/** * @ClassName Code43 * @Author ZK * @Description * @Date 2021/1/27 10:28 * @Version 1.0 **/public class Code43 { public static void main(String[] args
2021-01-27 14:14:50 53 2
原创 LeetCode.41 缺失的第一个正数
原题解题package com.leetcode.code;/** * @ClassName Code41 * @Author ZK * @Description * @Date 2021/1/26 16:04 * @Version 1.0 **/public class Code41 { public static void main(String[] args) { int[] nums = {98,93,95,10,91,4,90,88,56,84,6
2021-01-26 17:47:32 66
原创 LeetCode.40 组合总和 II
原题https://leetcode-cn.com/problems/combination-sum-ii/题解package com.leetcode.code;import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * @ClassName Code40 * @Author ZK * @Description * @Date 2021/1/25 15:07 * @Version
2021-01-25 15:41:12 64
原创 LeetCode.39 组合总和
原题:https://leetcode-cn.com/problems/combination-sum/题解package com.leetcode.code;import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * @ClassName Code39 * @Author ZK * @Description * @Date 2021/1/25 11:21 * @Version 1
2021-01-25 14:59:09 75
原创 二叉树的线索化及遍历(前序、中叙、后序)Java版
啥都不说了,直接上代码,可能比较乱,但是也是非常清晰的。package com.zk.datastruct.tree;import lombok.Data;public class ThreadedBinaryTreeDemo { public static void main(String[] args) { ThreadedTreeNode root = getTree(); ThreadedTree tree = new ThreadedTree(r
2021-01-24 23:32:14 141
原创 RestTemplate的基本使用之postForObject()
RestTemplate的基本使用之postForObject()1. post请求的基本调用原始接口(生产者)package com.zk.datastruct.controller;import com.alibaba.fastjson.JSONObject;import org.springframework.web.bind.annotation.*;import org.springframework.web.multipart.MultipartFile;import jav
2021-01-18 23:53:09 37226 2
原创 数组转二叉树
数组转二叉树思路:准备数组构建树节点集合循环树节点集合构建二叉树public class BinaryTreeDemo { public static void main(String[] args) { //原始数组中可以输入null,转为的二叉树缺少左节点 //Integer[] arr = {1,2,3,4,5,null,7}; Integer[] arr = {1,2,3,4,5,6,7}; // 数组转为二叉树 TreeNode node = ar
2021-01-11 23:35:43 994
原创 求 最大公约数和最小公倍数
求 最大公约数和最小公倍数最大公约数 public static int gcd(int a,int b){ int n = 0; while(b!=0){ n = a % b; a = b; b = n; } return a; }最小公倍数 public static int lcm(int a,int b){ return
2021-01-08 16:32:40 70
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人