自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (7)
  • 问答 (2)
  • 收藏
  • 关注

原创 Java官方的一个函数式接口Consumer<T>

void forEach(Integer[] nums, Consumer<Integer> c1, Consumer<Integer> c2){ if (nums == null || c1 == null || c2 == null) return; for (Integer i: nums){// c1.andThen(c2).accept(i); c1.accept(i); .

2021-03-27 11:59:52 126

原创 0 9 布隆过滤器(Bloom Filter)

思考◼ 如果要经常判断 1 个元素是否存在,你会怎么做?很容易想到使用哈希表(HashSet、HashMap),将元素作为 key 去查找 ✓ 时间复杂度:O(1),但是空间利用率不高,需要占用比较多的内存资源◼ 如果需要编写一个网络爬虫去爬10亿个网站数据,为了避免爬到重复的网站,如何判断某个网站是否爬过?很显然,HashSet、HashMap 并不是非常好的选择◼ 是否存在时间复杂度低、占用内存较少的方案?布隆过滤器(Bloom Filter)布隆过滤器(Bloo.

2021-03-27 09:17:07 112

原创 0 8 动态规划(Dynamic Programming)

◼ 动态规划,简称DP是求解最优化问题的一种常用策略◼ 通常的使用套路(一步一步优化)① 暴力递归(自顶向下,出现了重叠子问题)② 记忆化搜索(自顶向下)③ 递推(自底向上)动态规划的常规步骤◼ 动态规划中的“动态”可以理解为是“会变化的状态”① 定义状态(状态是原问题、子问题的解)✓ 比如定义 dp(i) 的含义② 设置初始状态(边界)✓ 比如设置 dp(0) 的值③ 确定状态转移方程✓ 比如确定 dp(i) 和 dp(i – 1) 的关系..

2021-03-27 09:08:12 107

原创 0 7 分治(Divide And Conquer)

◼ 分治,也就是分而治之。它的一般步骤是① 将原问题分解成若干个规模较小的子问题(子问题和原问题的结构一样,只是规模不一样)② 子问题又不断分解成规模更小的子问题,直到不能再分解(直到可以轻易计算出子问题的解)③ 利用子问题的解推导出原问题的解◼ 因此,分治策略非常适合用递归◼ 需要注意的是:子问题之间是相互独立的◼ 分治的应用快速排序归并排序Karatsuba算法(大数乘法)详细应用查看数据结构学习资料...

2021-03-25 21:29:47 81

原创 135. 分发糖果

点此查看官方详细题解class Solution { public boolean canPlaceFlowers(int[] flowerbed, int n) { int count = 0; int m = flowerbed.length; int prev = -1; for (int i = 0; i < m; i++) { if (flowerbed[i] == 1) { ...

2021-03-25 21:21:20 80

原创 605. 种花问题

点此查看官方详细题解class Solution { public boolean canPlaceFlowers(int[] flowerbed, int n) { int count = 0; int m = flowerbed.length; int prev = -1; for (int i = 0; i < m; i++) { if (flowerbed[i] == 1) { ...

2021-03-25 21:09:40 76

原创 122. 买卖股票的最佳时机 II

解题思想:贪心算法官方详细讲解代码实现class Solution { public int maxProfit(int[] prices) { int ans = 0; int n = prices.length; for (int i = 1; i < n; ++i) { ans += Math.max(0, prices[i] - prices[i - 1]); } .

2021-03-25 20:55:08 97

原创 452. 用最少数量的箭引爆气球

class Solution { public int findMinArrowShots(int[][] points) { if(points.length == 0) return 0; Arrays.sort(points, (p1, p2) -> p1[1] < p2[1] ? -1 : 1); int res = 1; int pre = points[0][1]; for (int i =...

2021-03-25 20:23:45 112

原创 455. 分发饼干

贪心class Solution { public int findContentChildren(int[] g, int[] s) { Arrays.sort(g); Arrays.sort(s); int numOfChildren = g.length, numOfCookies = s.length; int count = 0; for (int i = 0.

2021-03-25 19:02:28 60

原创 0 6 贪心(Greedy)

◼ 贪心策略,也称为贪婪策略每一步都采取当前状态下最优的选择(局部最优解),从而希望推导出全局最优解◼ 贪心的应用哈夫曼树最小生成树算法:Prim、Kruskal最短路径算法:Dijkstra相关练习:1.练习1 – 最优装载问题(加勒比海盗)2.练习2 – 零钱兑换代码思路:即先对所有面值进行从小到大排序,先选面值大的,左后再选面值小的。而如果用这个方法求解下面这个变种的零钱兑换的话,则结果会出现问题。 3.练习3...

2021-03-25 14:41:47 83

原创 面试题 08.06. 汉诺塔问题

、class Solution{ public void hanota(List<Integer> A, List<Integer> B, List<Integer> C) { move(A.size(), A, B, C); } void move(int n, List<Integer> a, List<Integer> b, List<Integer> c){ ...

2021-03-25 14:05:34 107

原创 0 4 递归(Recursion)

◼ 递归:函数(方法)直接或间接调用自身。是一种常用的编程技巧◼ 如果递归调用没有终止,将会一直消耗栈空间最终导致栈内存溢出(Stack Overflow)◼ 所以必需要有一个明确的结束递归的条件也叫作边界条件、递归基1.递归的基本思想◼ 拆解问题把规模大的问题变成规模较小的同类型问题规模较小的问题又不断变成规模更小的问题规模小到一定程度可以直接得出它的解 n n – 1 n – 2 .... 2 1◼ 求解由最小规模问题的解得出较大规模问题的解.

2021-03-25 13:34:22 116

原创 0 3 图(Graph)

由于图的内容较多,所以复习的时候直接查看学习资料里的pdf即可。

2021-03-25 13:16:57 90

原创 0 5 回溯(Back Tracking)

◼ 回溯可以理解为:通过选择不同的岔路口来通往目的地(找到想要的结果)每一步都选择一条路出发,能进则进,不能进则退回上一步(回溯),换一条路再试◼ 树、图的深度优先搜索(DFS)、八皇后、走迷宫都是典型的回溯应用...

2021-03-24 22:57:53 107

原创 后台开发——求页数

每一页西安市100条数据, pageSize, 一共有999999条数据,n,请问有多少页 :pageCount = (n + pageSize - 1) / pageSize

2021-03-17 08:11:07 144

原创 1143. 最长公共子序列Java实现

class Solution { public int longestCommonSubsequence(String text1, String text2) { if (text1 == null || text2 == null) return 0; char[] chars1 = text1.toCharArray(); if (chars1.length == 0) return 0; char[] c...

2021-03-14 17:14:40 172

原创 Java实现最长公共子序列

第一种方法:递归static int lcs1(int[] nums1, int[] nums2) { if (nums1 == null || nums1.length == 0) return 0; if (nums2 == null || nums2.length == 0) return 0; return lcs1(nums1, nums1.length, nums2, nums2.length); } /** * 求nums1前i个元素和nums2前j个元素的.

2021-03-14 17:03:43 686

原创 最大连续子序列,Java实现

算法真的是太神奇了!!!初步实现:思路◼ 给定一个长度为 n 的整数序列,求它的最大连续子序列和比如 –2、1、–3、4、–1、2、1、–5、4 的最大连续子序列和是 4 + (–1) + 2 + 1 = 6◼ 状态定义假设 dp(i) 是以 nums[i] 结尾的最大连续子序列和(nums是整个序列)✓ 以 nums[0] –2 结尾的最大连续子序列是 –2,所以 dp(0) = –2✓ 以 nums[1] 1 结尾的最大连续子序列是 1,所以 dp(1) = 1✓ 以 num

2021-03-13 09:48:56 551

原创 70. 爬楼梯

思路◼ 楼梯有 n 阶台阶,上楼可以一步上 1 阶,也可以一步上 2 阶,走完 n 阶台阶共有多少种不同的走法?假设 n 阶台阶有 f(n) 种走法,第 1 步有 2 种走法✓ 如果上 1 阶,那就还剩 n – 1 阶,共 f(n – 1) 种走法✓ 如果上 2 阶,那就还剩 n – 2 阶,共 f(n – 2) 种走法所以 f(n) = f(n – 1) + f(n – 2)Java实现...

2021-03-08 09:02:07 119

原创 53. 最大子序和Java实现,几种方法

1.穷举法class Solution { public int maxSubArray(int[] nums) { if (nums == null || nums.length == 0) return 0; int max = Integer.MIN_VALUE; for (int begin = 0; begin < nums.length; begin++){ for (int end = ...

2021-03-06 17:09:34 156

转载 Java的split方法分割字符串及其注意事项

点此进入

2021-03-05 23:43:09 164

原创 关于Java官方提供的sort函数的用法

下面介绍对数组的排序和对动态链表的排序Arrays.sort(); 可以看出这个方法是对基本类型的数组的排序,还可以对自定义类型的对象数组进行排序。下面给出一个实例int[] nums = new int[]{1,3,2,5,4}; Arrays.sort(nums); System.out.println(Arrays.toString(nums));运行结果ArrayList的sort方法import j...

2021-03-05 23:30:34 247

原创 90. 子集 II

回溯法class Solution { public List<List<Integer>> subsetsWithDup(int[] nums) { List<List<Integer>> ans = new ArrayList<>(); Arrays.sort(nums); //排序 getAns(nums, 0, new ArrayList<>(), ans); return ans;.

2021-03-04 14:41:57 113 1

原创 78. 子集

方法一:迭代法实现子集枚举class Solution { List<Integer> t = new ArrayList<Integer>(); List<List<Integer>> ans = new ArrayList<List<Integer>>(); public List<List<Integer>> subsets(int[] nums) { int .

2021-03-04 14:38:58 122 1

原创 40. 组合总和 II

Java实现class Solution { public List<List<Integer>> combinationSum2(int[] candidates, int target) { int len = candidates.length; List<List<Integer>> res = new ArrayList<>(); if (len == 0) { .

2021-03-04 14:13:10 176 2

原创 39. 组合总和

实现class Solution { public List<List<Integer>> combinationSum(int[] candidates, int target) { int len = candidates.length; List<List<Integer>> res = new ArrayList<>(); if (len == 0) { r.

2021-03-04 14:07:05 85 1

原创 51. N 皇后

Java实现class Solution { /** * 数组索引是行号,数组元素是列号 */ int[] cols; //存储每一行的皇后的位置(即列号) /** * 一共有多少种摆法 */ int ways; List<List<String>> res = new ArrayList<>(); public List<List<String>>..

2021-03-03 21:50:34 115 1

原创 47. 全排列 II

class Solution { public List<List<Integer>> permuteUnique(int[] nums) { int len = nums.length; List<List<Integer>> res = new ArrayList<>(); if (len == 0) return res; Deque<Integer>.

2021-03-03 20:34:02 105 1

原创 LeetCode——46. 全排列

Java实现,回溯法class Solution { public List<List<Integer>> permute(int[] nums) { int len = nums.length; List<List<Integer>> res = new ArrayList<>(); if (len == 0) return res; Deque<Integer&.

2021-03-03 19:51:19 120 1

原创 八皇后问题的求解及逐步优化

1. 什么是八皇后问题?◼ 八皇后问题是一个古老而著名的问题在8x8格的国际象棋上摆放八个皇后,使其不能互相攻击:任意两个皇后都不能处于同一行、同一列、同一斜线上请问有多少种摆法?LeetCode的相关题◼ leetcode_51_N皇后:https://leetcode-cn.com/problems/n-queens/◼ leetcode_52_N皇后 II: https://leetcode-cn.com/problems/n-queens-ii/八皇后问题的解决思路◼ 思路一:

2021-03-03 19:40:33 928 1

Java程序员面试资料及简历模版

Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版 Java程序员面试资料及简历模版

2022-05-04

微机原理期末复习试卷附详细答案和必背知识点

微机原理期末复习试卷附详细答案和必背知识点,适合考前抱佛脚的同学。 微机原理期末复习试卷附详细答案和必背知识点,适合考前抱佛脚的同学 微机原理期末复习试卷附详细答案和必背知识点,适合考前抱佛脚的同学 微机原理期末复习试卷附详细答案和必背知识点,适合考前抱佛脚的同学 微机原理期末复习试卷附详细答案和必背知识点,适合考前抱佛脚的同学 微机原理期末复习试卷附详细答案和必背知识点,适合考前抱佛脚的同学 微机原理期末复习试卷附详细答案和必背知识点,适合考前抱佛脚的同学 微机原理期末复习试卷附详细答案和必背知识点,适合考前抱佛脚的同学 微机原理期末复习试卷附详细答案和必背知识点,适合考前抱佛脚的同学 微机原理期末复习试卷附详细答案和必背知识点,适合考前抱佛脚的同学

2022-05-04

jdk-14.0.1.zip

jdk-14.0.1.zip

2021-09-10

officedeploymenttool_14131-20278.exe

安装Visio失败提示安装即点即用版本 利用office部署工具安装visio2016

2021-09-10

JavaWeb实现简单通讯录程序(Mysql5.5+Tomcat8.5.31+Druid连接池)

简单实现联系人数据的增删改查,可当做小Demo练练手。

2021-06-21

SchoolGuide.zip

西邮数据结构课设校园导游系统Java实现,基本功能全部实现,找我要课设报告。

2020-12-29

Java考试系统,使用了swing、文件IO、反射等JavaSE部分的基础知识。

该文件是基于JavaSE知识实现的简单考试系统,未使用数据库知识,底层用文件存储用户信息,初步采用MVC 分层架构思想,还包含多种设计模式。

2020-11-25

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

TA关注的人

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