自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法之路-Z字形变换

文章目录前言算法描述:时空复杂度:二、二分法1.算法描述:2.时空复杂度总结前言将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。请你实现这个将字符串进行指定行数变换的函数:string conve

2022-05-17 10:46:56 137

原创 简述synchronized、lock和原子类的原理

文章目录场景一、synchronized二、Lock场景当我们在多线程的环境下操作一些共享数据,此时大量的读写操作对数据进行操作,怎样保证数据的一致性,安全性?一、synchronizedsynchronized是一个基于jvm的重量级的锁,他可以保证线程的绝对安全,但是也有一些问题:比如它是非公平的,它的性能不高。它的底层原理实际上是在jvm有一个是类似于计数器的东西叫做monitor,它默认情况下是0,但我们加锁的时候就+1变为1,解锁就是-1变为0,由于Synchronized是一个对象锁

2022-05-16 15:23:32 119

原创 多线程环境下的读写分离思考

文章目录场景一、synchronized 或者lock锁二、从kafka源码获取灵感场景当我们在多线程的环境下操作一个集合,比如 ArrayList或者Hashmap,这些集合默认情况下肯定是线程不安全的,如果说多个线程同时去读和写这些集合就会有线程安全问题。好,问题来了,我们应该怎么让一个集合变成线程安全的呢?一、synchronized 或者lock锁有一个非常简单的办法,对这些集合的访问都加上线程同步的控制,或者说是加锁。最简单的做法就是加一个Synchronized或者Lock锁。我

2022-05-16 14:46:07 414 1

原创 算法之路-最长回文子串

文章目录前言一、暴力破解算法描述:代码实现:二、暴力循环优化版1.算法描述:代码实现:三、动态规划1.算法描述:代码实现:四、中心扩展1.算法描述:代码实现:五、Manacher 算法1.算法描述:代码实现:代码实现:总结前言输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。一、暴力破解算法描述:找到所有子串,判定是否是回文串,保存最长长度的回文串。代码实现:class Solution { public static String l

2022-05-16 14:24:22 262 1

原创 算法之路-Z字形变换

文章目录前言一、暴力破解算法描述:时空复杂度:二、二分法1.算法描述:2.时空复杂度总结前言给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。一、暴力破解算法描述:比较两个数组的值,按正序放入新数组中,再求中位数。时空复杂度:时间复杂度:O(m+n)。空间复杂度:O(m+n)。class Solution { public double findMed

2022-04-27 15:37:00 147 1

原创 算法之路-无重复字符的最长字串

文章目录前言一、滑动窗口算法算法描述:时空复杂度:优化总结前言给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度一、滑动窗口算法算法描述:左右两个指针,右指针向右移动往set里存值,如果能存入,则set中无重复值,右指针继续向右移动。如果set不能存入,则丢弃set中左指针位置的元素,并且左指针向有移动。时空复杂度:时间复杂度:O(n^2))。空间复杂度:O(n)。class Solution { // 给定一个字符串 s ,请你找出其中不含有重复字符的 最长

2022-04-26 13:52:56 374 1

原创 算法之路-两数相加

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代.

2022-04-25 16:06:50 193 1

原创 算法之路-两数之和

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、暴力搜索算法描述:时空复杂度:二、Hash表1算法描述时空复杂度三、Hash表2算法描述时空复杂度总结前言给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。一、暴力搜索算法描述:两个循环,第一个循环从前到后取出.

2022-04-24 17:50:21 67

空空如也

空空如也

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

TA关注的人

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