自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 LeetCode115—不同的子序列(java版)

题目描述:标签:字符串 动态规划给定一个字符串s和一个字符串t,计算在s的子序列中t出现的个数。字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,"ACE"是"ABCDE"的一个子序列,而"AEC"不是)题目数据保证答案符合 32 位带符号整数范围。代码:思路分析:动态规划五部曲1、确定dp数组以及下标含义,dp[i][j]表示s字符串的前i-1个出现t字符串的前j-1个的个数2、...

2021-05-17 19:49:36 183

原创 暑假实习面经 | 华为通用软件开发

目录一、笔试(4.15晚19-21点)二、心理测评(4.16)三、专业面试(5.13晚18点30-19点20)四、业务主管面试(5.14早10点30-11点)一、笔试(4.15晚19-21点)笔试是在牛客网上进行的(牛客网编程题需要处理输入输出,所以大家需要提前熟悉一下吧)。笔试时间是2个小时,一共三题,总共600分,第一题100分,第二题200分,第三天300分,据说是100分及格,所以大家机考认真些,时间充足的,注重得分率,关注答题技巧。因为我也没有截图题目,只能稍微回忆一下。

2021-05-16 15:35:02 1526 1

原创 JAVA高级编程——集合

目录1.1 JAVA集合框架概述1.2 Collection接口的方法1.3Collection子接口1.3.1 Collection子接口一:List1.3.2 Collection子接口一:Set1.4 Map接口1.5 Collections工具类1.1 JAVA集合框架概述|----Collection接口:单列集合,用来存储一个一个的对象|----List接口:存储有序的、可重复的数据。 --->“动态”数组 ...

2021-05-12 11:45:50 225 1

原创 Java高级编程——多线程

目录1.1 程序、进程、线程的基本概念1.2 线程的创建和使用1.3 线程的生命周期1.4 线程的同步1.5 线程的通信1.1 程序、进程、线程的基本概念程序:一段静态的代码 进程:程序的一次执行过程。进程是动态的,有自身的创建、运行到消亡。一个进程可以有多个线程。 线程:进程可进一步细化为线程,是一个程序内部的一条执行路径。多个线程共享进程的堆和方法区,但每个线程有自己的程序计数器、虚拟机栈、本地方法栈。1.2 线程的创建和使用(1)方式一:继承于Thread类.

2021-05-12 10:07:11 108

原创 LeetCode392—判断子序列(java版)

题目描述:标签:贪心算法 二分查找 动态规划给定字符串 s 和 t ,判断 s 是否为 t 的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。代码:思路分析:动态规划五部曲1、确定dp数组以及下标含义,dp[i][j]表示s字符串的前i-1个以及t字符串的前j-1个中最长重复子序列的长度2、确定递推公式,如果s[i-1]==t[j-1],则dp...

2021-05-10 19:52:39 174

原创 LeetCode1035—不相交的线(java版)

题目描述:标签:数组我们在两条独立的水平线上按给定的顺序写下A和B中的整数。现在,我们可以绘制一些连接两个数字A[i]和B[j]的直线,只要A[i] == B[j],且我们绘制的直线不与任何其他连线(非水平线)相交。以这种方法绘制线条,并返回我们可以绘制的最大连线数。代码:思路分析:思路同 leetcode1143最长公共子序列class Solution { public int maxUncrossedLines(int[] A, int[...

2021-05-10 19:20:00 427

原创 LeetCode1143—最长公共子序列(java版)

题目描述:标签:动态规划给定两个字符串text1 和text2,返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 ,返回 0 。一个字符串的子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。两个字符串的 公共子序列 是这两个字符串所共同拥有的子序列。代码:思路分析:动态规划五部...

2021-05-09 19:43:23 278

原创 LeetCode718—最长重复子数组(java版)

题目描述:标签:数组 哈希表 二分查找 动态规划给两个整数数组A和B,返回两个数组中公共的、长度最长的子数组的长度。代码:思路分析:动态规划五部曲1、确定dp数组以及下标含义,dp[i][j]表示nums1数组的前i-1个以及nums2数组的前j-1个中最长重复子数组的长度2、确定递推公式,如果nums1[i-1]==nums2[j-1],则dp[i][j]=dp[i-1][j-1]+1(记得保存最大值到result中)3、dp数组初始化,dp[0][j]...

2021-05-09 19:33:03 186

原创 LeetCode674—最长连续递增序列(java版)

题目描述:标签:数组给定一个未经排序的整数数组,找到最长且 连续递增的子序列,并返回该序列的长度。连续递增的子序列 可以由两个下标 l 和 r(l < r)确定,如果对于每个 l <= i < r,都有 nums[i] < nums[i + 1] ,那么子序列 [nums[l], nums[l + 1], ..., nums[r - 1], nums[r]] 就是连续递增子序列。代码:思路分析:动态规划五部曲1、确定dp数组以及下标含义,dp[i]表..

2021-05-09 19:14:39 133

原创 LeetCode300—最长递增子序列(java版)

题目描述:标签:二分查找 动态规划给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。代码:思路分析:动态规划五部曲1、确定dp数组以及下标含义,dp[i]表示前i个数构成的数组的最长上升子序列长度2、确定递推公式,对前i-1个数进行遍历,如果nums[i]>nums[j],就应该在dp[j]+...

2021-05-09 19:05:16 245

原创 LeetCode714—买卖股票的最佳时机含手续费(java版)

题目描述:标签:贪心算法 数组 动态规划给定一个整数数组prices,其中第i个元素代表了第i天的股票价格 ;非负整数fee 代表了交易股票的手续费用。你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。返回获得利润的最大值。注意:这里的一笔交易指买入持有并卖出股票的整个过程,每笔交易你只需要为支付一次手续费。代码:思路分析:动态规划五部曲1、确定dp数组以及下标含义,dp[i][...

2021-05-07 19:55:31 91

原创 LeetCode309—买卖股票的最佳时机含冷冻期(java版)

题目描述:标签: 动态规划给定一个整数数组,其中第i个元素代表了第i天的股票价格 。​设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。代码:思路分析:动态规划五部曲1、确定dp数组以及下标含义,dp[i][0]表示第i天持有股票的最大现金,dp[i][1]表示第i天不持有股票的(可购买)最...

2021-05-07 19:44:31 95

原创 LeetCode188—买卖股票的最佳时机Ⅳ(java版)

题目描述:标签:动态规划给定一个整数数组prices ,它的第 i 个元素prices[i] 是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。代码:思路分析:动态规划五部曲1、确定dp数组以及下标含义,dp[i][j]表示第i天第j种状态下的最大现金2、确定递推公式——①不操作,dp[i][0] = dp[i-1][0]②第j次买...

2021-05-07 19:22:36 137

原创 LeetCode123—买卖股票的最佳时机Ⅲ(java版)

题目描述:标签:数组 动态规划给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成两笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。代码:思路分析:动态规划五部曲1、确定dp数组以及下标含义,dp[i][0]表示第i天不操作所剩现金,dp[i][1]表示第i天第一次买入所剩现金,dp[i][2]表示第i天第一次卖出所剩现金,dp[i][3]表示第i天第二次买入所剩现金...

2021-05-06 20:01:49 180

原创 LeetCode121—买卖股票的最佳时机(java版)

题目描述:标签:数组 动态规划给定一个数组 prices ,它的第i 个元素prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。代码:思路分析:动态规划五部曲1、确定dp数组以及下标含义,dp[i][0]表示第i天持有股票的最大现金,dp[i][1]表示第i天不持有股票的...

2021-05-06 19:21:30 112

空空如也

空空如也

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

TA关注的人

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