![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法学习解析
算法学习解析
IF程序猴
这个作者很懒,什么都没留下…
展开
-
算法LeetCode自主学习------大小为 K 且平均值大于等于阈值的子数组数目
此题看了答案,算法最近刚开始练习,中等难度的对我来说还是有点难度,而且白天要上班,晚上偶尔练习,时间不太够,每次思考一个小时左右做不出来只能看答案,希望以后做多了能好点吧,继续加油package test.java.first;import org.junit.Test;import java.util.regex.Matcher;import java.util.regex.Pattern;/** 给你一个整数数组arr和两个整数 k和 threshold。 请你返回长度...原创 2020-07-23 01:22:15 · 160 阅读 · 0 评论 -
算法LeetCode自主学习------ 旋转数组的最小数字
package test.java.first;import org.junit.Test;/** 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转, 输出旋转数组的最小元素。例如,数组[3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。 示例 1: 输入:[3,4,5,1,2] 输出:1 示例 2: 输入:[2,2,2,0,1] 输出:0 来源:力扣(LeetCode) 链接:...原创 2020-07-22 21:34:13 · 93 阅读 · 0 评论 -
算法LeetCode自主学习------不同的二叉搜索树 II
此题想了一个半小时,解了一半,没有解出来,看了答案,惭愧package test.java.first;import org.junit.Test;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/** 给定一个整数 n,生成所有由 1 ...n 为节点所组成的 二叉搜索树 。 示例: 输入:3 输出: [ [1,...原创 2020-07-22 00:17:41 · 83 阅读 · 0 评论 -
算法LeetCode自主学习------ 子矩形查询
package test.java.first;import org.junit.Test;/** 请你实现一个类SubrectangleQueries,它的构造函数的参数是一个 rows x cols的矩形(这里用整数矩阵表示),并支持以下两种操作: 1.updateSubrectangle(int row1, int col1, int row2, int col2, int newValue) 用newValue更新以(row1,col1)为左上角且以(row...原创 2020-07-20 20:45:43 · 162 阅读 · 0 评论 -
ForkJoinPool api 详解
今天时间学习CyclicBarrierapi,该类是JUC原子包中的类,通过单元测试代码把所有public api方法跑了一遍,大致了解了底层实现,初学乍练,有很多一知半解的地方,待后续有了深入理解再来补充package test.java.util.concurrent;import java.util.ArrayList;import java.util.HashSet;import java.util.List;import java.util.Set;import java.u.原创 2020-07-19 23:53:10 · 813 阅读 · 0 评论 -
算法LeetCode自主学习------ IP 地址无效化
package test.java.first;import org.junit.Test;/** 给你一个有效的 IPv4 地址address,返回这个 IP 地址的无效化版本。 所谓无效化IP 地址,其实就是用"[.]"代替了每个 "."。 示例 1: 输入:address = "1.1.1.1" 输出:"1[.]1[.]1[.]1" 示例 2: 输入:address = "255.100.50.0" 输出:"255[.]100[.]50[.]0"...原创 2020-07-19 14:13:32 · 112 阅读 · 0 评论 -
算法LeetCode自主学习------宝石与石头
package test.java.first;import org.junit.Test;/** 给定字符串J代表石头中宝石的类型,和字符串S代表你拥有的石头。S中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。 J中的字母不重复,J和S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。 示例 1: 输入: J = "aA", S = "aAAbbbb" 输出: 3 示例 2: 输入: J = "z", ...原创 2020-07-19 13:53:21 · 151 阅读 · 1 评论 -
算法LeetCode自主学习------猜数字
package test.java.first;import org.junit.Test;/** 小A 和 小B 在玩猜数字。小B 每次从 1, 2, 3 中随机选择一个,小A 每次也从 1, 2, 3 中选择一个猜。他们一共进行三次这个游戏,请返回 小A 猜对了几次? 输入的guess数组为 小A 每次的猜测,answer数组为 小B 每次的选择。guess和answer的长度都等于3。 示例 1: 输入:guess = [1,2,3], answer = [...原创 2020-07-19 13:44:52 · 220 阅读 · 0 评论 -
算法LeetCode自主学习------数组异或操作
package test.java.first;import org.junit.Test;/** 给你两个整数,n 和 start 。 数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == nums.length 。 请返回 nums 中所有元素按位异或(XOR)后得到的结果。 示例 1: 输入:n = 5, start = 0 输出:8 解释:数组 nums 为 [0, 2, 4, 6, 8],其中 (0 ^ 2 ...原创 2020-07-19 13:35:53 · 148 阅读 · 0 评论 -
算法LeetCode自主学习------拥有最多糖果的孩子
继续package test.java.first;import org.junit.Test;import java.util.ArrayList;import java.util.List;/** 给你一个数组candies和一个整数extraCandies,其中candies[i]代表第 i 个孩子拥有的糖果数目。 对每一个孩子,检查是否存在一种方案,将额外的extraCandies个糖果分配给孩子们之后,此孩子有 最多的糖果。注意,允许有多个孩子同时拥有 ...原创 2020-07-19 13:19:38 · 133 阅读 · 0 评论 -
算法LeetCode自主学习------重新排列数组
继续,另外一道简单题目package test.java.first;import org.junit.Test;/** 给你一个数组 nums ,数组中有 2n 个元素,按 [x1,x2,...,xn,y1,y2,...,yn] 的格式排列。 请你将数组按 [x1,y1,x2,y2,...,xn,yn] 格式重新排列,返回重排后的数组。 示例 1: 输入:nums = [2,5,1,3,4,7], n = 3 输出:[2,3,5,4,1,7] 解释:由于 x1=.原创 2020-07-19 12:15:04 · 114 阅读 · 0 评论 -
算法LeetCode自主学习------好数对的数目
周末刷几道简单算法题package test.java.first;import org.junit.Test;/** 给你一个整数数组 nums 。 如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,就可以认为这是一组 好数对 。 返回好数对的数目。 示例 1: 输入:nums = [1,2,3,1,1,3] 输出:4 解释:有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 .原创 2020-07-19 11:37:52 · 201 阅读 · 0 评论 -
算法LeetCode自主学习------一维数组的动态和
今天做一道简单的,用时10分钟package test.java.first;import org.junit.Test;import java.util.HashSet;import java.util.Set;/** 给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。 请返回 nums 的动态和。 示例 1: 输入:nums = [1,2,3,4] 输出:[1,3,6,10].原创 2020-07-19 11:10:52 · 172 阅读 · 0 评论 -
算法LeetCode自主学习------电话号码的字母组合
算法挺好玩,各种边界判断,搞的头都大了,用时三个小时,还需要多联系package test.java.first;import org.junit.Test;import java.util.*;/** 给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:"23" 输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce"...原创 2020-07-18 02:01:14 · 116 阅读 · 0 评论 -
算法LeetCode自主学习------删除链表的倒数第N个节点
今天刷的算法题,中等难度,用了一个半小时没有达到LeetCode提交标准,老是超时,看了答案,理解了别人的解法,自己又写了几遍,算是有收获,继续加油package test.java.first;import org.junit.Test;import java.util.ArrayList;import java.util.List;import java.util.Stack;import java.util.concurrent.BlockingDeque;import java原创 2020-07-16 23:29:22 · 108 阅读 · 0 评论 -
加一算法解析
package test.java.first;import org.junit.Test;import java.util.Stack;import java.util.concurrent.BlockingDeque;import java.util.concurrent.LinkedBlockingDeque;/** * 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 * * 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 * * 你可以假.原创 2020-07-15 23:49:09 · 758 阅读 · 0 评论 -
快乐数算法解析
今天正式开始学习算法知识,第一道简单题目,自己写出了一种错误解法,查看别人解题思路,修改自己的方法,最终得出正确答案,还有需要完善的地方,以后慢慢整理补充package test.java.first;import org.junit.Test;import java.util.HashSet;import java.util.Set;import java.util.concurrent.atomic.AtomicBoolean;/** 编写一个算法来判断一个数 n 是不是快乐数。原创 2020-07-14 23:27:44 · 648 阅读 · 0 评论