自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (2)
  • 收藏
  • 关注

原创 使用趋动云部署ChatGLM3-6B模型

等待开发者工具加载完成 -> 点击 JupyterLab 进入开发环境。同样地,我们需要再创建一个 8501 端口。在终端输入tmux,进入一个会话窗口。浏览器打开streamlit,测试功能。2)运行 streamlit 界面。打开gradio界面,测试功能。1)运行 gradio 界面。打开 terminal。

2023-11-04 16:43:02 311

原创 机器学习基础:人工智能、机器学习、深度学习的概念和关系(一)

机器学习基础:人工智能、机器学习、深度学习的概念和关系(一)

2022-02-07 19:04:01 4219 1

原创 入门深度学习系列文章:开篇声明

入门深度学习系列文章:开篇声明

2022-02-07 18:20:35 485

原创 最小操作/移动次数使数组元素相等Ⅰ&Ⅱ

LeetCode 记录453.最小操作次数使数组元素相等题意,给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数分析:n-1个元素每次增加1,等价于1个元素,每次减少1class Solution { public int minMoves(int[] nums) { //n-1个数+1,等价于1个数-1 int min = nums[0]; for (int i : nu.

2021-10-20 07:22:58 343

原创 Trie(字典树、前缀树)数据结构

前缀树是一种非典的的多叉树,多叉树好理解就是多个分支,非典型则是指前缀树的节点的数据结构与一般的树不同。先上代码,再讲我的理解(对应于LeetCode 208)class Trie { private Node root; public Trie() { root = new Node(); } public void insert(String word) { Node tmp = root; int p.

2021-10-19 10:58:18 111

原创 十一届蓝桥杯 Java 数字三角形

public class Main { static int dr = 0;//向下+1,向右下-1 static int max = 0; static int N; static int[][] matrix; public static void main(String[] args) throws IOException { /*思路 dfs, dr={-1,0,1} */ BufferedReader br

2021-01-09 16:42:22 805 2

原创 十一届蓝桥杯Java省赛 排序

public class Main { public static void main(String[] args) { /*思路,逆序字符串,计算一下即可 11个字母 nmlkjihgfedcba (13+0)*14/2 = 13*7 = 91 onmlkjihgfedcba 14*15/2 = 7*15 = 105 jonmlkihgfedcba 100次交换 */

2021-01-09 15:56:53 884

转载 十一届蓝桥杯Java省赛 七段码 代码解析

import java.util.ArrayList;public class Main { static int cnt = 0; static boolean[] isVisited = new boolean[7];;//判断是否访问 static ArrayList<Integer> list[];//临界表 static boolean[] isCheck = new boolean[1<<8];//不同路径的和不一样 static

2021-01-09 15:13:58 1685

原创 动态规划 单调栈 代码详解 1130.叶值的最小代价生成树

1130.叶值得最小代价生成树给你一个正整数数组 arr,考虑所有满足以下条件的二叉树:每个节点都有 0 个或是 2 个子节点。数组 arr 中的值与树的中序遍历中每个叶节点的值一一对应。(知识回顾:如果一个节点有 0 个子节点,那么该节点为叶节点。)每个非叶节点的值等于其左子树和右子树中叶节点的最大值的乘积。在所有这样的二叉树中,返回每个非叶节点的值的最小可能总和。这个和的值是一个 32 位整数。来源:力扣(LeetCode)链接:https://leetcode-cn.com/prob.

2020-10-21 13:20:24 154

原创 动态规划 求矩阵区域和 代码详解

–1314. 矩阵区域求和给你一个 m * n 的矩阵 mat 和一个整数 K ,请你返回一个矩阵 answer ,其中每个 answer[i][j] 是所有满足下述条件的元素 mat[r][c] 的和:i - K <= r <= i + K, j - K <= c <= j + K(r, c) 在矩阵内。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/matrix-block-sumclass Solution

2020-10-15 13:47:27 321

原创 代码注释详解 判断是否是子树 剑指Offer26. 树的子结构

剑指Offer26. 树的子结构输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构)B是A的子结构, 即 A中有出现和B相同的结构和节点值。例如:给定的树 A:来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/shu-de-zi-jie-gou-lcofclass Solution { public boolean isSubStructure(TreeNode A, TreeNode B) { .

2020-10-14 11:30:02 158

原创 回溯 动态规划(0-1背包问题) 优化动态规划 416. 分割等和子集

416.分割等和子集给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100数组的大小不会超过 200来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/partition-equal-subset-sum1、回溯 (会超时)class Solution { public boolean canPartition(int[] nums) {//0-1背包问.

2020-10-11 12:53:08 306 1

转载 树上DP 代码注释 834.树中距离之和

834.树中距离之和给定一个无向、连通的树。树中有 N 个标记为 0…N-1 的节点以及 N-1 条边 。第 i 条边连接节点 edges[i][0] 和 edges[i][1] 。返回一个表示节点 i 与其他所有节点距离之和的列表 ans。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/sum-of-distances-in-tree/solution/shu-zhong-ju-chi-zhi-he-by-leetcode-solution

2020-10-06 09:30:21 183

原创 设计 [循环队列] 以及 [循环双端队列] 代码

循环队列class MyCircularQueue { int[] queue; int front; int rear; int capacity; /** Initialize your data structure here. Set the size of the queue to be k. */ public MyCircularQueue(int k) { capacity = k + 1; queue = ne

2020-10-05 12:08:02 126

原创 滑动窗口 双队列实现 代码注释 剑指Offer59-I. 滑动窗口的最大值

–剑指Offer59-I. 滑动窗口的最大值-给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。来源:LeetCodepublic int[] maxSlidingWindow(int[] nums, int k) { if (nums == null || nums.length == 0){ return new int[0]; } int[] res = new int[nums.length - k + 1];

2020-10-05 10:52:47 126

原创 RMQ 线段树 区间和、区间最值 代码

public class SegmentTree { @Test public void test(){ buildMin(0); int min = query(0, 3, 5); System.out.println(min);// updateOne(0,4,5);// max = query(0, 3, 5);// System.out.println(max);buildSum(0);

2020-10-04 12:17:15 144

原创 代码详注 132. 分割回文串Ⅱ

132.分割回文串Ⅱ给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回符合要求的最少分割次数。点击挑战leetcodepublic int minCut(String s) { int n = s.length(); //1. 为了降低时间复杂度,所以提前用动态规划求出s中的回文子串 //1.1 isPalindrome[i][j]=x,表示为区间[i,j]的子串是否是回文串 boolean[][] isPalindrome = new bo.

2020-09-23 13:15:05 102

原创 啥叫并查集啊(战术后仰) 由定义到应用带你团灭并查集 (含例题和详细注释)

引用Wikipedia 对并查集的定义在计算机科学中,并查集是一种树型的数据结构,用于处理一些不交集(Disjoint Sets)的合并及查询问题。有一个联合-查找算法(union-find algorithm)定义了两个用于此数据结构的操作:Find:确定元素属于哪一个子集。它可以被用来确定两个元素是否属于同一子集。Union:将两个子集合并成同一个集合。由于支持这两种操作,一个不相交集也常被称为联合-查找数据结构(union-find data structure)或合并-查找集合(merge

2020-09-17 11:10:18 185

原创 尽量详解 474.一和零 、377.组合总和IV

动态规划题的基本模板private void dp(int m,int n){ //1.状态:xxxx; 选择:xxxx //2.dp[i][j]=val,i表示xx,j表示xx,val表示xx //3.初始条件 //状态转移 for (状态一) { for (状态二){ for(选择){ //4.状态转

2020-09-14 19:48:54 218

原创 两种回溯方式求解 77.组合

77.组合给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。LeetCodehttps://leetcode-cn.com/problems/combinations/List<List<Integer>> ans = new ArrayList<>();public List<List<Integer>> combine(int n, int k) { if(n <= 0 || k <=.

2020-09-08 07:23:53 163

原创 347.前K个高频元素

347.前K个高频元素给定一个非空的整数数组,返回其中出现频率前 k 高的元素。LeetCodehttps://leetcode-cn.com/problems/top-k-frequent-elements/现用 HashMap计数,再用PriorityQueuepublic int[] topKFrequent(int[] nums, int k) { HashMap<Integer,Integer> map = new HashMap<>(); .

2020-09-07 07:52:18 110

原创 规律题 60.第k个排列

60.第k个排列给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下:“123”“132”“213”“231”“312”“321”给定 n 和 k,返回第 k 个排列。说明:给定 n 的范围是 [1, 9]。给定 k 的范围是[1, n!]。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/permutation-sequence乍.

2020-09-05 10:20:48 192

转载 两种解法代码 (KMP、Manacher) 214.最短回文串

以下代码参考自:https://leetcode-cn.com/problems/shortest-palindrome/solution/xiang-xi-tong-su-de-si-lu-fen-xi-duo-jie-fa-by–44/214.最短回文串给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。来源:LeetCode网址:https://leetcode-cn.com/problems/shortest-palindro.

2020-08-29 12:13:07 249

原创 回溯+贪心 代码注释(Java)322.重新安排行程

332.重新安排行程给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进行重新规划排序。所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK 开始。说明:如果存在多种有效的行程,你可以按字符自然排序返回最小的行程组合。例如,行程 [“JFK”, “LGA”] 与 [“JFK”, “LGB”] 相比就更小,排序更靠前所有的机场都用三个大写字母表示(机场代码)。假定所有机票至少存在一种合理的行程。.

2020-08-27 11:32:25 189

原创 代码注释(递归枚举+剪枝) 491.递归子序列

491.递归子序列给定一个整型数组, 你的任务是找到所有该数组的递增子序列,递增子序列的长度至少是2。来源:LeetCode网站:https://leetcode-cn.com/problems/increasing-subsequences/版本一:递归枚举+Set去重 /** * 算法一:递归枚举 * 思路:每一个位置的数,选择或不选择 */ Set<List<Integer>> set = new HashSet&lt.

2020-08-25 23:38:29 199

原创 递归 面试题17.12.BiNode

面试题17.12.BiNode二叉树数据结构TreeNode可用来表示单向链表(其中left置空,right为下一个链表节点)。实现一个方法,把二叉搜索树转换为单向链表,要求依然符合二叉搜索树的性质,转换操作应是原址的,也就是在原始的二叉搜索树上直接修改。返回转换后的单向链表的头节点。注意:本题相对原题稍作改动来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binode-lcci/*** 根 右 左*/TreeNode pre =.

2020-08-23 22:50:25 129

原创 暴力递归枚举算法 之 24点游戏

679.24点游戏你有 4 张写有 1 到 9 数字的牌。你需要判断是否能通过 *,/,+,-,(,) 的运算得到 24。来源:LeetCode地址:https://leetcode-cn.com/problems/24-game/思想:(1)第一次从列表中随意取出两个数,做四则运算后再放回列表,即从4个数变成3个数。(2) 从剩下三个数中,任取两个数,做四则运算后放回,即从3个数变成2个数。(3)将两个数进行四则运算,如果结果是24±1e-6,则表明找到24点,反之没找到代码:pu.

2020-08-22 22:24:10 602

原创 根据先序和中序序列 还原二叉树 递归 剑指Offer 07.重建二叉树

剑指Offer 07.重建二叉树输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。来源:LeetCode网址:https://leetcode-cn.com/problems/zhong-jian-er-cha-shu-lcof/public TreeNode buildTree(int[] preorder, int[] inorder) { if(preorder == null || inorder == null ||.

2020-08-19 12:25:57 174

原创 两种算法 647.回文子串 (动态规划、中心扩散)

647.回文子串给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被视作不同的子串。来源:LeetCode网址:https://leetcode-cn.com/problems/palindromic-substrings/动态规划dp[i][j]=x,表示在区间i,j的子串,是否为回文public int countSubstrings(String s) { if(s == null || s.lengt.

2020-08-19 08:39:25 138

原创 看懂快慢指针系列 之 以LeetCode 455.分发饼干、141.环形链表、142.环形链表Ⅱ、125.验证回文串、109.有序链表转换为二叉搜索树 为例

1)109.有序链表转换为二叉搜索树给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/convert-sorted-list-to-binary-search-treepublic TreeNode sortedListToBST(ListNode head) { if(h.

2020-08-18 09:55:51 165

转载 异或^和与非&~的使用 136.只出现一次的数字 137.只出现一次的数字Ⅱ

以下内容均参考至LeetCode评论区的大佬们136.只出现一次的数字https://leetcode-cn.com/problems/single-number/public int singleNumber(int[] nums) { //1. a ^ 0 = a //2. a ^ b ^ c = a ^ c ^ b //3. a ^ a = 0 int ans = 0; for(int i = 0;i < nums.length;i++).

2020-08-17 14:20:34 234

原创 DFS、双向BFS 127.单词接龙

127.单词接龙DFS(超时) /** * 算法一:暴力回溯 * 超时!! * */ /** * * @param beginWord:src 字符串 * @param endWord:des 字符串 * @param wordList:字典 * @return 转换序列长度,即转换次数+1 */ static boolean[] isVisited; public static.

2020-08-17 10:08:16 130

原创 AVL树的判定 110.平衡二叉树

110.平衡二叉树/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public boolean isBalanced(TreeNode root) { .

2020-08-17 08:04:55 93

原创 递归 733.图像渲染

733.图像渲染public int[][] floodFill(int[][] image, int sr, int sc, int newColor) { if (sr < 0 || sc < 0 || sr >= image.length || sc >= image[0].length || image[sr][sc] == newColor) return image; int ori = image[sr][sc]; image[sr][s.

2020-08-16 10:18:44 100

原创 124.二叉树中的最大路径 beat 99.86%

124.二叉树中的最大路径和class Solution { /** *思想,自底向上,原地修改每个节点,修改为经过节点的最大路径和 *前提:每个节点(除了始末节点)都有两个分支,与其根相连、与其左子树相连、与其右子树相连(三选二) *所以,选择策略就是就可以分为两个,(1)选择左右子树中最大的那条路径,然后与其根相连;(2)同时选择其左右子树路径形成最长路径 *全局变量MAX就来记录最长路径 */ int MAX = Integer.

2020-08-16 10:16:34 111

原创 125.验证回文串 栈、双指针

125.验证回文串代码/** (11ms) *算法一:栈 */public boolean isPalindrome(String s) { if(s == null || s.length() == 0) return true; Stack<Character> stack = new Stack<>(); List<Character> list = new ArrayList<>(); for (int i.

2020-08-15 06:37:26 135

原创 120.三角形最小路径和 (从dfs+记忆化到动态规划dp)

120.三角形最小路径和dfs+记忆化/**(超时)* 算法一:dfs+备忘录 (自顶向下)*/public int minimumTotal(List<List<Integer>> triangle) { if (triangle == null || triangle.size() == 0) return 0; return BT(triangle,1,triangle.get(0).get(0),0,new HashMap<int[],Inte.

2020-08-14 13:08:31 178

原创 杨辉三角 118.杨辉三角 119.杨辉三角Ⅱ(数学解法)

118.杨辉三角public List<List<Integer>> generate(int numRows) { if (numRows == 0) return new ArrayList<>(); List<List<Integer>> list = new ArrayList<>(); //特殊处理一下第一行 List<Integer> tmp = new ArrayList&.

2020-08-14 10:27:08 148

原创 括号匹配 20.有效的括号

20.有效的括号代码public boolean isValid(String s) { if (s == null || s.length() == 0) return true; if (s.length() % 2 != 0) return false; //栈 Stack<Character> stack = new Stack(); char ch; for (int i = 0;i < s.length();i++){ .

2020-08-14 08:23:33 133

原创 模拟手算 415.字符串相加 43.字符串相乘

415.字符串相加代码public String addStrings(String num1, String num2) { StringBuilder sb = new StringBuilder(); int i = num1.length()-1,j = num2.length()-1,tmp = 0; while (i >= 0 || j >=0 || tmp > 0) { if (i >= 0) tmp += num1.ch.

2020-08-14 07:53:30 93

思维导图 计算机组成原理 唐朔飞

balabala...这是我自己学的时候做的思维导图,大家复习的时候可以看看。我要开始凑字数了。。《面向21世纪课程教材•普通高等教育"十一五"国家级规划教材:计算机组成原理(第2版)》内容简介:为了紧跟国际上计算机技术的新发展,《面向21世纪课程教材•普通高等教育"十一五"国家级规划教材:计算机组成原理(第2版)》对第1版各章节的内容进行了补充和修改,并增加了例题分析,以加深对各知识点的理解和掌握。《面向21世纪课程教材•普通高等教育"十一五"国家级规划教材:计算机组成原理(第2版)》通过对一台实际计算机的剖析,使读者更深入地理解总线是如何将计算机各大部件互连成整机的。

2020-07-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除