自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Lison_Zhu's Blog

漂亮的程序很多,有趣的程序员太少

  • 博客(329)
  • 资源 (4)
  • 收藏
  • 关注

原创 Excel如何复制一摸一样的表格或建立副本

复制一模一样的表格

2022-08-23 17:06:04 9106 1

原创 excel系列【下拉项二选一】

二选一下拉项

2022-08-23 09:37:15 4767

原创 excel系列【统计一列中的不重复项】

excel统计一列中的不重复项

2022-08-18 09:43:56 1753

转载 从M走到N最少步数

题目描述:假设一个人站在 X 轴的正半轴上,起始点在 M 点(0 <= M <= 100000),他每次可以向左走一步,向右走一步,或者走到所在坐标乘以2的位置,最终来到 N 点(0 <= N <= 100000)。问:所需的最少步数是几步?(如果不能从 M 走到 N 点,则返回 -1)举例:M = 2,N = 13,则按照 2 -> 3 -> 6 -> 12 -> 13 的走法,最少步数是 4。解题思路:此题可用广搜 + 剪枝的方法,可以理解为一棵三

2021-08-22 20:11:06 377

原创 java中的add、remove、push、pop、offer、poll

stack: push 和 popqueue: offer和 poll通用的,即二者都可以用的:add、remove

2021-06-07 15:58:08 1683

原创 JAVA字符串转int,int转字符串

如何将整数 int 转换成字串 String ?1、String s = String.valueOf(i); 2、String s = Integer.toString(i); 3、String s = "" + i;如何将整数 String 转换成字串 int?1、i=Integer.parseInt(s);2、i=Integer.valueOf(s).intValue();

2021-05-16 09:31:53 214

原创 归并排序模板以及leetcode—剑指 Offer 51. 数组中的逆序对

剑指 Offer 51. 数组中的逆序对难度困难在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。示例 1:输入: [7,5,6,4]输出: 5暴力双循环,最容易想到的思路,超时class Solution { public int reversePairs(int[] nums) { int cnt=0; int n = nums.length; .

2021-05-10 16:40:11 125

原创 5751. 下标对中的最大距离

5751.下标对中的最大距离显示英文描述我的提交返回竞赛通过的用户数2133 尝试过的用户数2892 用户总通过次数2186 用户总提交次数7094 题目难度Medium给你两个非递增的整数数组nums1​​​​​​ 和nums2​​​​​​ ,数组下标均从 0 开始计数。下标对(i, j)中0 <= i < nums1.length且0 <= j < nums2.length。如果该下标对同时满足i <= j且nu...

2021-05-09 12:10:48 121

转载 leetcode—239. 滑动窗口最大值

239. 滑动窗口最大值难度困难给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例 1:输入:nums = [1,3,-1,-3,5,3,6,7], k = 3输出:[3,3,5,5,6,7]解释:滑动窗口的位置 最大值--------------- -----[1 3 -1...

2021-05-07 19:01:03 325

原创 双端队列

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。即队列限定只能在头部删除元素,在尾部插入元素。双端队列(Deque:double-ended queue)就是一个两端都是结尾的队列。双端队列的每一端都能够插入和删除。相对于普通队列,双端队列的入队和出队操作在两端都可进行。Java LinkedList(链表) 类似于 ArrayList,是一种常用的数据容器。与 ArrayList 相比,LinkedList 的增加和.

2021-05-07 17:07:01 319

原创 leetcode—剑指 Offer 58 - I. 翻转单词顺序

剑指 Offer 58 - I. 翻转单词顺序难度简单输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。为简单起见,标点符号和普通字母一样处理。例如输入字符串"I am a student. ",则输出"student. a am I"。示例 1:输入: "the sky is blue"输出:"blue is sky the"示例 2:输入: " hello world! "输出:"world! hello"解释: 输入字符串可以在前面或者后...

2021-05-06 19:34:30 103

原创 leetcode—剑指 Offer 57 - II. 和为s的连续正数序列

剑指 Offer 57 - II. 和为s的连续正数序列难度简单输入一个正整数target,输出所有和为target的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1:输入:target = 9输出:[[2,3,4],[4,5]]示例 2:输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]图源:https://leetcode-cn.com/problems...

2021-05-06 17:08:09 117

转载 leetcode—377. 组合总和 Ⅳ

377. 组合总和 Ⅳ难度中等给你一个由不同整数组成的数组nums,和一个目标整数target。请你从nums中找出并返回总和为target的元素组合的个数。题目数据保证答案符合 32 位整数范围。示例 1:输入:nums = [1,2,3], target = 4输出:7解释:所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不同的序列被视作不...

2021-04-24 16:16:19 136

原创 leetcode—剑指 Offer 16. 数值的整数次方

剑指 Offer 16. 数值的整数次方难度中等149实现pow(x,n),即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。示例 1:输入:x = 2.00000, n = 10输出:1024.00000示例 2:输入:x = 2.10000, n = 3输出:9.26100示例 3:输入:x = 2.00000, n = -2输出:0.25000解释:2-2 = 1/22 = 1/4 = 0.25法1:暴力...

2021-04-24 14:55:45 119

原创 leetcode—剑指 Offer 68 - I. 二叉搜索树的最近公共祖先

剑指 Offer 68 - I. 二叉搜索树的最近公共祖先难度简单给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root =[6,2,8,0,4,7,9,null,null,3,5]示例 1:输入: root = [6,2,8,0,4,7,9...

2021-04-20 14:58:23 150

原创 leetcode—剑指 Offer 62. 圆圈中最后剩下的数字

剑指 Offer 62. 圆圈中最后剩下的数字难度简单0,1,···,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字(删除后从下一个数字开始计数)。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。示例 1:输入: n = 5, m = 3输出:3示例 2:输入: n = 10, m = 17输出:2约...

2021-04-19 17:21:22 165

原创 leetcode—旋转排序数组+二分法

33. 搜索旋转排序数组难度中等整数数组nums按升序排列,数组中的值互不相同。在传递给函数之前,nums在预先未知的某个下标k(0 <= k < nums.length)上进行了旋转,使数组变为[nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标从 0 开始计数)。例如,[0,1,2,4,5,6,7]在下标3处经旋转后可能变为[4,5,6,7,0,1,2]。...

2021-04-08 21:40:16 131

原创 回溯模板+leetcode——78. 子集 + 90. 子集 II

回溯法一般情况下,看到题目要求「所有可能的结果」,而不是「结果的个数」,我们就知道需要暴力搜索所有的可行解了,可以用「回溯法」。「回溯法」实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就「回溯」返回,尝试别的路径。回溯法是一种算法思想,而递归是一种编程方法,回溯法可以用递归来实现。回溯法的整体思路是:搜索每一条路,每次回溯是对具体的一条路径而言的。对当前搜索路径下的的未探索区域进行搜索,则可能有两种情况:当前未搜索区域满足结束条件,则保存当

2021-03-31 17:10:16 111

原创 java的hashmap用法

最近刷题用到了hashmap,在这里简单总结一下:创建一个hashmap:HashMap<Integer, String> Sites = new HashMap<Integer, String>();添加元素:put() 方法public class RunoobTest { public static void main(String[] args) { // 创建 HashMap 对象 Sites HashMap&l.

2021-03-23 17:06:06 2584

原创 java中hashset的用法

最近刷题用到了很多hash类型的题目,在这整理一下hashset的具体用法:创建一个hashset:HashSet<String> sites = new HashSet<String>();HashSet<String> sites = new HashSet<String>();add方法:sites.add("Google");public class RunoobTest { public static void ...

2021-03-23 16:42:23 1729

原创 leetcode—115. 不同的子序列

115. 不同的子序列给定一个字符串s和一个字符串t,计算在s的子序列中t出现的个数。字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,"ACE"是"ABCDE"的一个子序列,而"AEC"不是)题目数据保证答案符合 32 位带符号整数范围。示例1:输入:s = "rabbbit", t = "rabbit"输入:3解析:重点在这个 “选”,s 串有哪些选择,做出不同的选择会带来什么状态。...

2021-03-17 16:37:25 139

原创 leetcode—232. 用栈实现队列以及栈和队列的简单介绍和JAVA基本用法

232. 用栈实现队列请你仅使用两个栈实现先入先出队列。队列应当支持一般队列的支持的所有操作(push、pop、peek、empty):实现MyQueue类:void push(int x)将元素 x 推到队列的末尾 int pop()从队列的开头移除并返回元素 int peek()返回队列开头的元素 boolean empty()如果队列为空,返回true;否则,返回false说明:你只能使用标准的栈操作 —— 也就是只有push to top,peek...

2021-03-05 15:20:43 143 3

原创 leetcode—354. 俄罗斯套娃信封问题

354. 俄罗斯套娃信封问题难度困难385给定一些标记了宽度和高度的信封,宽度和高度以整数对形式(w, h)出现。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。请计算最多能有多少个信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。说明:不允许旋转信封。示例:输入: envelopes = [[5,4],[6,4],[6,7],[2,3]]输出: 3 解释: 最多信封的个数为 3, 组合为: [2,3..

2021-03-04 16:17:35 139 1

原创 Arrays.sort对二维数组进行排序

int res= [[5,4],[6,4],[6,7],[2,3]]Arrays.sort(res, new Comparator<int[]>() {@Overridepublic int compare(int[] o1, int[] o2) {if (o1[0]==o2[0]) return o1[1]-o2[1];return o1[0]-o2[0];}});o1[0]-o2[0]表示对第一个元素进行升序,如果为o2[0]-o1[0]表示对第一个元素进行降序。o.

2021-03-04 15:31:02 382 2

转载 leetcode—300. 最长递增子序列,dp(动态规划)第一题

300. 最长递增子序列难度中等给你一个整数数组nums,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组[0,3,1,6,2,2,7]的子序列。示例 1:输入:nums = [10,9,2,5,3,7,101,18]输出:4解释:最长递增子序列是 [2,3,7,101],因此长度为 4 。示例 2:输入:nums = [0,1,0,3,2,3]输出:4...

2021-03-04 14:43:39 401 1

原创 leetcode—349. 两个数组的交集

349. 两个数组的交集难度简单330给定两个数组,编写一个函数来计算它们的交集。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[9,4]本题主要考察数组去重,利用Set集合的不可重复性进行元素过滤。class Solution { public int[] intersection(int[] nums1, i.

2021-03-01 20:52:56 90

原创 leetcode—303. 区域和检索 - 数组不可变

303. 区域和检索 - 数组不可变难度简单278给定一个整数数组 nums,求出数组从索引i到j(i≤j)范围内元素的总和,包含i、j两点。实现NumArray类:NumArray(int[] nums)使用数组nums初始化对象 int sumRange(int i, int j)返回数组nums从索引i到j(i≤j)范围内元素的总和,包含i、j两点(也就是sum(nums[i], nums[i + 1], ... , nums[j]))...

2021-03-01 17:37:55 163

原创 leetcode—395. 至少有K个重复字符的最长子串

395. 至少有K个重复字符的最长子串难度中等303找到给定字符串(由小写字符组成)中的最长子串T,要求T中的每一字符出现次数都不少于k。输出T的长度。示例 1:输入:s = "aaabb", k = 3输出:3最长子串为 "aaa" ,其中 'a' 重复了 3 次。示例 2:输入:s = "ababbc", k = 2输出:5最长子串为 "ababb" ,其中 'a' 重复了 2 次, 'b' 重复了 3 次。递归-分治: 遍历统...

2021-02-27 12:54:43 204 1

原创 leetcode—1004. 最大连续1的个数 III

1004. 最大连续1的个数 III难度中等166给定一个由若干0和1组成的数组A,我们最多可以将K个值从 0 变成 1 。返回仅包含 1 的最长(连续)子数组的长度。示例 1:输入:A = [1,1,1,0,0,0,1,1,1,1,0], K = 2输出:6解释: [1,1,1,0,0,1,1,1,1,1,1]粗体数字从 0 翻转到 1,最长的子数组长度为 6。示例 2:输入:A = [0,0,1,1,0,0,1,1,1,0,1,1,0,0,0,...

2021-02-19 10:40:08 152 1

原创 leetcode—292. Nim 游戏

292. Nim 游戏难度简单你和你的朋友,两个人一起玩Nim 游戏:桌子上有一堆石头。 你们轮流进行自己的回合,你作为先手。 每一回合,轮到的人拿掉1 - 3 块石头。 拿掉最后一块石头的人就是获胜者。假设你们每一步都是最优解。请编写一个函数,来判断你是否可以在给定石头数量为n的情况下赢得游戏。如果可以赢,返回true;否则,返回false。示例 1:输入:n = 4输出:false 解释:如果堆中有 4 块石头,那么你永远不会赢得比赛; 因...

2021-02-09 21:21:48 271

转载 leetcode—最长湍流子数组

方法一:滑动窗口设数组 arr 的长度为 n,窗口 [left,right] (0≤left≤right≤n−1) 为当前的窗口,窗口内构成了一个「湍流子数组」。随后,我们要考虑下一个窗口的位置。根据「湍流子数组」的定义,当 0<right<n-1 时:如果 arr[right-1] < arr[right]且 arr[right] > arr[right+1],则 [left,right+1]也构成「湍流子数组」,因此需要将 right 右移一个单位;如果 arr[r

2021-02-08 21:47:56 131

原创 leetcode—665. 非递减数列

665. 非递减数列难度简单给你一个长度为n的整数数组,请你判断在最多改变1个元素的情况下,该数组能否变成一个非递减数列。我们是这样定义一个非递减数列的:对于数组中所有的i(0 <= i <= n-2),总满足nums[i] <= nums[i + 1]。示例 1:输入: nums = [4,2,3]输出: true解释: 你可以通过把第一个4变成1来使得它成为一个非递减数列。示例 2:输入: nums = [4,2,1]输...

2021-02-07 15:39:57 115

原创 leetcode—14. 最长公共前缀

14. 最长公共前缀难度简单编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例 1:输入:strs = ["flower","flow","flight"]输出:"fl"示例 2:输入:strs = ["dog","racecar","car"]输出:""解释:输入不存在公共前缀。提示:0 <= strs.length <= 200 0 <= strs[i].length <= 20...

2021-02-07 11:11:28 91

转载 leetcode—1423. 可获得的最大点数

1423. 可获得的最大点数难度中等几张卡牌排成一行,每张卡牌都有一个对应的点数。点数由整数数组cardPoints给出。每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿k张卡牌。你的点数就是你拿到手中的所有卡牌的点数之和。给你一个整数数组cardPoints和整数k,请你返回可以获得的最大点数。示例 1:输入:cardPoints = [1,2,3,4,5,6,1], k = 3输出:12解释:第一次行动,不管拿哪张牌,你的点数总是 1...

2021-02-06 23:46:25 155

原创 leetcode—13. 罗马数字转整数

13. 罗马数字转整数罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1。12 写做XII,即为X+II。 27 写做XXVII, 即为XX...

2021-02-06 23:22:43 127

转载 LeetCode—1208. 尽可能使字符串相等,附滑动窗口模板

1208. 尽可能使字符串相等难度中等给你两个长度相同的字符串,s和t。将s中的第i个字符变到t中的第i个字符需要|s[i] - t[i]|的开销(开销可能为 0),也就是两个字符的 ASCII 码值的差的绝对值。用于变更字符串的最大预算是maxCost。在转化字符串时,总开销应当小于等于该预算,这也意味着字符串的转化可能是不完全的。如果你可以将s的子字符串转化为它在t中对应的子字符串,则返回可以转化的最大长度。如果s中没有子字符串可以转化成t...

2021-02-05 11:38:02 170

原创 leetcode—283. 移动零

283. 移动零难度:简单给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数一开始的想法是计算0的个数,然后往后移动0,但是做了半天没有头绪。转而想到“快慢指针法”,定义两个指针变量,i和j,j变量保存不为0的数字。class Solution { public void moveZer...

2021-02-05 10:23:51 97

原创 leetcode—643. 子数组最大平均数 I

643. 子数组最大平均数 I给定n个整数,找出平均数最大且长度为k的连续子数组,并输出该最大平均数。示例:输入:[1,12,-5,-6,50,3], k = 4输出:12.75解释:最大平均数 (12-5-6+50)/4 = 51/4 = 12.75提示:1 <=k<=n<= 30,000。 所给数据范围 [-10,000,10,000]。双重循环又超时了,超时的原因:每次的子数组不能重新计算,会超时,应该采用减去上一次的首端再...

2021-02-04 12:10:44 164 1

原创 leetcode—264. 丑数 II

264. 丑数 II编写一个程序,找出第n个丑数。丑数就是质因数只包含2, 3, 5的正整数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。说明:1是丑数。 n不超过1690。我的第一想法是先写一个函数判断这个数是否是丑数,然后通过一个for循环判断每个数是否是丑数,直到丑数的数量达到n。unfortunately,超时了。下面是超时代码:class Solution...

2021-02-04 11:03:34 103

原创 leetcode—480. 滑动窗口中位数

480. 滑动窗口中位数中位数是有序序列最中间的那个数。如果序列的大小是偶数,则没有最中间的数;此时中位数是最中间的两个数的平均数。例如:[2,3,4],中位数是3 [2,3],中位数是(2 + 3) / 2 = 2.5给你一个数组nums,有一个大小为k的窗口从最左端滑动到最右端。窗口中有k个数,每次窗口向右移动1位。你的任务是找出每次窗口移动后得到的新窗口中元素的中位数,并输出由它们组成的数组。示例:给出nums=[1,3,-1,-3,5,3,6,7...

2021-02-03 12:26:30 201

Anomaly Detection-1.pptx

CVPR2018做异常检测的工作,提出了一个数据集UCF-Crime,考虑使用多示例学习的方法来解决异常检测的问题,思路比较简单,引用量也达到300了,效果还不错

2020-12-03

SlowFast.pptx

hekaimingCVPR2019视频行为识别新网络:SlowFast Networks for Video Recognition

2020-06-13

network in network.pptx

Network In network 简称NIN,是新加坡国立大学发表于2014年ICLR的一篇paper。而GoogLeNet就是借鉴了Network In network 的思想,此后还专门致谢过此篇文章。

2019-08-15

C#程序设计经典教程(第二版)课件

C#程序设计经典教程(第二版)课件+源代码+期末考试

2017-10-15

空空如也

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

TA关注的人

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