自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Again的博客

这家伙很懒,什么也没说

  • 博客(35)
  • 收藏
  • 关注

原创 mac for dockerv19.03.12更换镜像源

问题描述:在更换docker镜像源时,在网上看到的好多资料都是在任务栏点击 Docker for mac 应用图标-> Perferences…-> Daemon-> Registrymirrors。然后在列表中填写加速器地址,但是在版本比较新的docker客户端下根本就没有那个选项卡了。。。解决方案:Docker for mac 应用图标-> Perferences-> Docker Engine 然后在右边的json配置文件内容上添加registry-mirrors条目

2020-07-28 22:58:08 1094

原创 单例模式

单例模式单例模式的概念单例模式的使用原因优雅地处理资源访问冲突业务逻辑上该类就是只允许创建一个对象如何设计单例饿汉式懒汉式懒汉式优化---双重检测静态内部类枚举参考单例模式的概念一个类在一定的作用域范围内只允许创建一个对象(或实例),那这个类就是一个单例类,这个设计模式就叫单例模式(Singleton Design Pattern)。根据作用域范围的不同,单例模式的实现思路可能会有不同。单例模式的使用原因优雅地处理资源访问冲突比如一个程序里只有一个日志文件,如果这个日志文件对象在该进程内不是单例的

2020-07-25 22:07:41 163

原创 MySQL 8 + macOS 错误:Authentication plugin ‘caching_sha2_password‘ cannot be loaded

问题描述MySQL said: Authentication plugin ‘caching_sha2_password’ cannot be loaded: dlopen(/usr/local/lib/plugin/caching_sha2_password.so, 2): image not found解决方案使用终端登录mysqlmysql -u root -p // 然后输入你的密码登录更改密码认证策略mysql> ALTER USER 'root'@'localhost

2020-07-21 15:28:38 226

原创 设计原则

经典设计原则SOLID单一职责原则开闭原则里氏替换原则接口隔离原则SOLID单一职责原则定义单一职责原则(Single Responsibility Principle,SRP),指一个类或者模块只负责完成一个职责(或者说功能)。也就是说,不要设计大而全的类,要设计粒度小、功能单一的类。判定原则类中的代码行数、函数或属性过多,会影响代码的可读性和可维护性,我们就需要考虑对类进行拆分;类依赖的其他类过多,或者依赖类的其他类过多,不符合高内聚、低耦合的设计思想,我们就需要考虑对类进行拆分;

2020-07-05 16:22:02 178

原创 leetcode34---在排序数组中查找元素的第一个和最后一个位置

leetcode34—在排序数组中查找元素的第一个和最后一个位置题意简述给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,...

2019-03-13 23:13:11 159

原创 leetcode33---搜索旋转排序数组

leetcode33—搜索旋转排序数组原题链接题意简述假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入:...

2019-03-12 11:54:04 213

翻译 Locks in Java

Locks in JavaLocks in JavaA Simple LockLock ReentranceLock FairnessCalling unlock() From a finally-clauseLocks in Java锁也是一种像同步块一样的线程同步机制,但是锁可能比Java的同步块更复杂。 锁(以及其他更高级的同步机制)是使用synchronized块创建的,因此我们不能完...

2019-03-06 16:56:46 169

原创 leetcode16---最接近的三数之和

leetcode16—最接近的三数之和原题链接题意简述给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数的和为 2. (-1 + 2 + ...

2019-03-06 13:53:35 86

翻译 Java ThreadLocal

Java ThreadLocalJava Thread LocalCreating a ThreadLocalAccessing a ThreadLocalGeneric ThreadLocalInitial ThreadLocal ValueFull ThreadLocal ExampleInheritable ThreadLocalJava Thread LocalJava中的Thread...

2019-03-04 20:05:07 421

翻译 Java Volatile Keyword

Java Volatile KeywordJava Volatile KeywordVariable visibility ProblemsThe Java volatile Visibility GuaranteeFull volatile Visibility GuaranteeInstruction Reordering ChallengesThe Java volatile Happens...

2019-03-04 16:50:46 239

翻译 Java Synchronized Blocks

Java Synchronized BlocksJava Synchronized BlocksThe Java Synchronized KeywordSynchronized Instance MethodsSynchronized Static MethodsSynchronized Blocks in Instance MethodsJava Synchronized BlocksJa...

2019-03-04 11:40:57 132

翻译 Java Memory Model

Java Memory ModelJava Memory ModelThe Internal Java Memory ModelHardware Memory ArchitectureBridging The Gap Between The Java Memory Model And The Hardware Memory ArchitectureVisibility of Shared Obje...

2019-03-03 20:31:30 1239

翻译 Java NIO (三)

Java NIO SelectorJava NIO SelectorWhy Use a SelectorCreating a SelectorRegistering Channels with the SelectorSelectionKeyInterest SetChannel + SelectorAttaching ObjectsSelecting Channels via a Selecto...

2019-02-27 21:57:44 106

翻译 Java NIO (二)

Java NIO Scatter & GatherJava NIO Scatter & GatherScattering ReadsGathering WritesJava NIO Channel to Channel TransferstransferFrom()transferTo()Java NIO Scatter & GatherJava NIO具有内置的分散/...

2019-02-27 20:21:14 107

翻译 Java NIO (一)

Java NIO TutorialJava NIOJava NIO OverviewChannels 和 BuffersSelectorsJava NIO ChannelChannel ImplementationsBasic Channel ExampleJava NIO BufferBasic Buffer UsageJava NIOJava NIO 诞生于JDK1.4, 意味着代替标准J...

2019-02-27 18:55:58 183

原创 leetcode377---组合总和 Ⅳ

leetcode377—组合总和 Ⅳ原题链接题意简述给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数。示例:nums = [1, 2, 3]target = 4所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不同的序列被视作不同的组合。因此...

2019-02-26 21:41:43 348

原创 Java IO 学习总结

Java IO (java.io package) 学习总结Java IO APIJava IO API的设计目的: 解决java程序的输入输出问题.Java IO API的范围: 主要解决文件IO,网络IO,内存缓冲IO等等.Java IO 的优点: 设计优雅,高度封装,使用便捷.Java IO的缺点: 阻塞式的,性能一般Java IO API的类关系图(图片...

2019-02-26 20:58:59 311

原创 leetcode376---摆动序列

leetcode376—摆动序列原题链接题意简述如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。相反, [1,4,7,2,5] 和 [1,7,4,5,5] 不是摆动序列,第一个序列是因...

2019-02-25 22:34:36 432 1

原创 leetcode368---最大整除子集

leetcode368—最大整除子集原题链接题意简述给出一个由无重复的正整数组成的集合,找出其中最大的整除子集,子集中任意一对 (Si,Sj) 都要满足:Si % Sj = 0 或 Sj % Si = 0.如果有多个目标子集,返回其中任何一个均可。示例 1:输入: [1,2,3]输出: [1,2] (当然, [1,3] 也正确)示例 2:输入: [1,2,4,8]输出: [1...

2019-02-25 10:35:44 343

原创 leetcode375---猜数字大小 II

leetcode375—猜数字大小 II原题链接题意简述我们正在玩一个猜数游戏,游戏规则如下:我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字。每次你猜错了,我都会告诉你,我选的数字比你的大了或者小了。然而,当你猜了数字 x 并且猜错了的时候,你需要支付金额为 x 的现金。直到你猜到我选的数字,你才算赢得了这个游戏。示例:n = 10, 我选择了8.第一轮: 你猜我选...

2019-02-24 19:56:41 547

原创 leetcode343---整数拆分

leetcode343—整数拆分原题链接题意简述给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例 2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。说明: 你可以假设 n 不小于 2 且...

2019-02-23 16:40:03 234

原创 git命令总结大全

参考自廖雪峰Git教程CREATEgit clone git://github.com/repo.git : 克隆一个远程仓库git init : 初始化一个本地仓库LOCAL CHANGESgit status : Changed files in your working directorygit diff : Changes to tracked file...

2019-02-22 19:42:11 97

原创 leetcode338---比特位计数

leetcode338—比特位计数原题链接题意简述给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]示例 2:输入: 5输出: [0,1,1,2,1,2]解题分析位运算HmDis(int num): 计算数字num其二进制数中的 1 的数...

2019-02-21 18:22:13 338

原创 leetcode322---零钱兑换

leetcode322—零钱兑换原题链接题意简述给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例 1:输入: coins = [1, 2, 5], amount = 11输出: 3解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], ...

2019-02-21 17:43:54 277

原创 leetcode32---最长有效括号

leetcode32—最长有效括号原题链接题意简述给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: “(()”输出: 2解释: 最长有效括号子串为 “()”示例 2:输入: “)()())”输出: 4解释: 最长有效括号子串为 “()()”解题分析动态规划dp[i]:以s[i]结尾的子串包含有效括号的最长长...

2019-02-21 12:21:35 135

原创 leetcode746---使用最小花费爬楼梯

leetcode746—使用最小花费爬楼梯原题链接过个年颓废这么久,写个简单题找找感觉先:)…题意简述数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 costi。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。示例 1:输...

2019-02-14 17:49:56 139

原创 leetcode279---完全平方数

leetcode279—完全平方数原题链接原题简述给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, …)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。示例 1:输入: n = 12输出: 3解释: 12 = 4 + 4 + 4.示例 2:输入: n = 13输出: 2解释: 13 = 4 + 9.解法分析动态规划dp[i]: 组成正整...

2019-01-31 13:58:28 263

原创 leetcode264---丑数

leetcode264—丑数原题链接题意简述编写一个程序,找出第 n 个丑数。丑数就是只包含质因数 2, 3, 5 的正整数。示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。说明:1, 1 是丑数。2, n 不超过1690。解法分析动态规划dp[i]:第(i+1)个丑数;分析可知,后...

2019-01-30 20:40:29 106

原创 leetcode221---最大正方形

leetcode221—最大正方形原题链接题意简述输入: matrix [][]char,只包含’0’和’1’的矩阵;操作: 找出只包含’1’的最大正方形,计算其面积输出: max int,该面积解法分析动态规划dp[i][j]: 以matrix[i][j]为正方形右下角且只包含'1'的最大正方形边长;状态转移方程: dp[i][j]=min(dp[i-1][j-1],dp[...

2019-01-29 16:36:42 223

原创 leetcode300---最长上升子序列

leetcode300—最长上升子序列原题链接题意简述输入: nums []int;操作: 找出nums中的最长序列长度,满足i>j&&nums[i]>nums[j];输出: max int,最长上升子序列的长度解法分析1.1动态规划dp[i]:以nums[i]结尾的上升子序列的最大长度;动态转移方程很容易分析出: dp[i]

2019-01-29 11:07:35 363

原创 leetcode213---打家劫舍2

leetcode213—打家劫舍2原题链接题意简述输入: nums []int,非负整数数组操作: 取nums数组中不相邻的数,且第一个与最后一个不能同时取,使和最大输出: max int解法分析动态规划1.先考虑一个问题,就是原条件中第一个与最后一个可以同时取.这个问题就是leetcode---打家劫舍1记解决这个问题函数为 solve(int[] nums)状态转移方程:...

2019-01-24 16:22:36 245

原创 leetcode198---打家劫舍

leetcode198—打家劫舍原题链接题目简述输入: nums []int,非负整数数组;操作: 取不相邻的一些元素使和最大;输出: max int, 最大的和解法分析动态规划dp[i]: 选上nums[i]能获得的最大收益;边界条件: dp[0]=nums[0]; dp[1]=nums[1]; dp[2]=nums[0]+nums[2];状态转移方程: dp[i...

2019-01-24 11:53:45 108

原创 leetcode152---乘积最大子序列

leetcode152—乘积最大子序列题目简述输入: nums []int;操作: 找出nums中乘积最大的子序列;输出: max int;解法分析动态规划dp[i][2]: nums数组中以索引为i结尾的子序列乘积的最大值和最小值; dp[i][0]: 最小值; dp[i][1]: 最大值;状态转移方程: dp[i][0]=min(dp[i-1][0]*nums...

2019-01-24 10:40:53 86

原创 leetcode139---单词拆分

leetcode139—单词划分题目链接题目简述输入: s string, worddict string[];操作: 判断是否可以用worddict中的单词对s进行划分输出: flag bool解法分析动态规划dp[i]: s中第一个字符到第i个字符能否用worddict中的单词进行划分.状态转移方程: dp[i]=dp[i] || dp[j] && wor...

2019-01-23 15:53:07 164

原创 leetcode72---编辑距离

leetcode72—编辑距离题目链接题目简述输入: word1 string, word2 string操作: 增加字符,删除字符,替换字符输出: distance int解题思路动态规划解法:m=len(word1)n=len(word2)dp[i][j]: word1的前i个字符变为word2的前j个字符的最小代价dp[i][j]可由以下状态转移而来: dp[i...

2019-01-23 12:26:54 191

空空如也

空空如也

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

TA关注的人

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