自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面试题17.09.第k个数,大乱炖

面试题17.09.第k个数,Java,优化素因子乘积的顺序序列的第k个数

2021-03-21 14:16:19 189

原创 计算机基本结构quiz

北大-计组-陆俊林-计算机基本结构quiz

2020-12-25 23:19:26 442

原创 集合(一)数组ArrayList 源码剖析

集合(一)数组ArrayList 源码剖析

2020-07-23 17:43:15 234

原创 精尽Spring面试题

Spring 面试题

2020-07-21 12:45:31 961

原创 日刷leetcode(第三周)

日刷leetcode(第三周)2020.03.24 ~ 2020.03.30本周共刷精选 TOP 面试题 28道题目

2020-04-01 20:18:55 260

原创 日刷leetcode(第二周)

日刷leetcode(第二周)2020.03.17 ~ 2020.03.23本周共刷精选 TOP 面试题 26道题目

2020-03-23 22:43:36 245

原创 日刷leetcode(第一周)

日刷leetcode(第一周)2020.03.10 ~ 2020.03.16本周共刷精选 TOP 面试题 31道题目

2020-03-16 22:08:16 159 3

原创 括号字符串的有效性和最长有效长度

括号字符串的有效性和最长有效长度是否为整体有效的括号字符串遍历整个字符串`s`若遇到除'('和')'之外的字符,直接返回False;右圆括弧')'比左圆括弧'('多则直接返回False;遍历结束后,若左右圆括弧数量不相等则返回False,否则返回True。获取最长的有效括号子串动态规划,dp[i]表示以i结尾的有效括号子串最大长度。

2020-03-02 23:33:48 358

原创 添加最少字符使字符串整体都是回文字符串

添加最少字符使字符串整体都是回文字符串添加最少字符拼凑回文字符串动态规划,dp[i][j]为i到j任意添加字符构成回文的最少数量基于最长回文子序列字符串添加最少字符拼凑回文字符串基于最长回文子序列字符串slps,分别找到对应s中字符的位置,以此为界限;依次将左匹配边界和右匹配边界都添加到res里两侧,左匹配边界:[s_l, s_l_cur),右匹配边界(s_r_cur, s_r];在左里侧添加左匹配字符,在右里侧添加左匹配字符;循环直至slps所有字符完全匹配。

2020-03-02 10:35:09 945

原创 数组中两个字符串的最小距离

数组中两个字符串的最小距离一次O(N)查询遍历字符串数组,记录给出的两个字符串的最新位置,与最小距离比较,存储较小值时间复杂度为O(N)多次O(1)查询提前计算字符串数组中所有字符串之间的距离,并存储。时间复杂度为O(N^2),空间复杂度为O(N^2)两次哈希查询获取字符串数组中两个字符串间的最小距离时间复杂度为O(1)

2020-03-01 09:04:01 1120

原创 翻转字符串

翻转字符串翻转字符串单词顺序先将字符串整体翻转,再将每个单词翻转。时间复杂度为O(N),额外空间复杂度为O(1)字符串整体移动先将字符串整体翻转,再将右半区和左半区分别翻转。时间复杂度为O(N),额外空间复杂度为O(1)

2020-02-29 15:15:38 244

原创 替换与调整字符串

替换与调整字符串替换字符串统计左半区的总字符数量left_len,空格数量space_num替换后的长度为left_len + 2 * space_num从右往左,复制字符若为空格字符(' '),则依次复制'0','2','%'字符;否则复制相应的字符。调整字符串从右往左,复制字符遇见数字字符,复制;遇见“\*”字符,跳过;最终统一填充“\*”字符。

2020-02-29 10:50:28 417 2

原创 在有序但含有空的数组中查找字符串

在有序但含有空的数组中查找字符串有序含空数组查找字符串二分法查找遇见None向左遍历直至遇到非None匹配到s,将索引存储在res中,继续向左二分

2020-02-28 23:28:06 129

原创 判断字符数组中是否所有的字符都只出现过一次

判断字符数组中是否所有的字符都只出现过一次判断字符是否唯一字典实现,时间复杂度为O(N),空间复杂度为O(N);先堆排序,再查看相邻字符是否相同,时间复杂度为O(NlogN),空间复杂度为O(1)

2020-02-28 16:47:19 294

原创 字符串的统计字符串

字符串的统计字符串统计字符串每次遇见不相同的相邻字符时,拼接其数量最后再拼接最后一个字符的数量检索统计字符串若字符总和超过索引,则返回对应的字母字符;否则返回0(表示空字符)。

2020-02-28 12:23:56 455

原创 替换字符串中连续出现的指定字符串

替换字符串中连续出现的指定字符串替换连续字符串连续出现的指定字符串只替换一次指定字符串替换为连续的0,连续出现的指定字符串则也为连续的0每次在第一次出现0时,将保留的字符串和替换字符串陆续拼接

2020-02-27 22:23:39 475

原创 将整数字符串转成整数值

将整数字符串转成整数值整数字符串抓换为整型判断字符串s是否符合整数书写规范;判断字符串s抓换的整数是否在整型范围内;若满足两者条件,则返回其对应整型值,否则返回0。时间复杂度为O(N)注意java整数数据范围和python eval的用法也可以num=num*10+s[i]本地实现转换为整数

2020-02-27 17:54:53 787

原创 判断两个字符串是否互为旋转词

判断两个字符串是否互为旋转词字符串自行拼接,包含自身的所有旋转词,其中任意长度为n的子串都是旋转词,n为字符串的长度即判断一个字符串是否在另一个自行拼接的字符串中,即可判断两个字符串是否互为旋转词两个字符串匹配使用KMP算法本地实现字符串库函数实现find()和index()

2020-02-27 10:13:27 558

原创 字符串匹配

字符串匹配返回子串在字符串的起始位置暴力遍历时间复杂度为O(M*N)KMP算法获取前缀,后缀字符串最大重叠长度数组加速匹配,求子串在字符串的起始位置时间复杂度为O(N)

2020-02-26 21:54:27 200

原创 最长回文子串

最长回文子串获取最长回文子串末尾添加最短字符串构成回文串Manacher算法(马拉车算法)

2020-02-25 22:23:44 120

原创 去掉字符串中连续出现k个0的子串

去掉字符串中连续出现k个0的子串去掉连续k个0的子串创建字符串s对应的字符数组arrcount统计连续'0'字符个数,index统计连续'0'字符起始索引遍历arr,遇到'0'字符统计数量;遇到非'0'字符判断之前连续'0'字符个数是否为k,若为k,则将arr中index ~ index + k -1全部置换为'';最后返回字符数组arr构成的字符串。时间复杂度为O(N),空间复杂度为O(len(s))

2020-02-24 14:13:25 166

原创 字符串中数字子串求和

字符串中数字子串求和1. 数字子串全为整数;2. 偶数个'-'为正,奇数个'-'为负;3. 其他字符无特殊含义res记录求和结果,num记录当前整数,flag记录其符号遍历字符串s,数字字符出现时记录当前数至num,非数字字符出现时累加当前数至res,根据'-'的个数记录num的符号最后一个字符可能是数字,此时刚记录完num,需再次将num结果累计至res,防止遗漏

2020-02-23 23:59:50 519

原创 判断两个字符串是否互为变形词

判断两个字符串是否互为变形词统计字符串str1的种类及数量,再与str2进行对比。1. 比较字符串长度,长度不同,则返回False;2. 统计str1,字符及对应数量递增;3. 对比str2,字符及对应数量递减;4. 对比过程中,发现字符种类不存在或者数量递减至负数,则返回False;5. 对比完成,两者字符串长度相同,又不存在字符种类不同及数量不对齐情况,则说明两者互为变形词,返回True。若字符串只包含ASCII字符,创建长度为256的数组若字符串包含广义unicode字符,创建字典

2020-02-23 22:30:19 302

原创 位运算题集

位运算题集多做,多用笔纸演算,多想不用额外变量交换两个整数的值不用任何比较判断找出两个数中较大的数用位运算不用算术运算实现整数的加减乘除运算整数的二进制表达中有多少个1在其他数都出现偶数次的数组中找到出现奇数次的数整型数组中其他数出现k次找出只出现1次的数

2020-02-22 22:23:57 135

原创 不用额外变量交换两个整数的值

不用额外变量交换两个整数的值位运算交换两个数加法交换两数异或交换两数python实现

2020-02-22 22:07:39 217

原创 不用任何比较判断找出两个数中较大的数

不用任何比较判断找出两个数中较大的数位运算找出两整型较大值判断转换位运算同号时判断a-b的符号位异号时符号位与被减数相同python实现

2020-02-22 20:09:18 422

原创 用位运算不用算术运算实现整数的加减乘除运算

只用位运算不用算术运算实现整数的加减乘除运算位运算实现整型算术运算:加法,减法,乘法和除法真实算术运算结果,无溢出python实现

2020-02-22 15:40:11 709

原创 整数的二进制表达中有多少个1

整数的二进制表达中有多少个1统计整型的二进制表达中1的个数无符号右移按位与移除最右侧1平行算法

2020-02-21 21:41:27 200

原创 在其他数都出现偶数次的数组中找到出现奇数次的数

在其他数都出现偶数次的数组中找到出现奇数次的数整型数组中其他数都出现偶数次找到唯一出现奇数次的数偶数次异或为0,奇数次异或为本身遍历数组异或结果即为唯一出现奇数次的数整型数组中其他数都出现偶数次找到两个出现奇数次的数遍历数组异或结果为二者异或结果以结果最右边的1为标准筛选数组中的值进行异或,可得到两者中的一个数,再与结果异或可得到另一个数

2020-02-20 20:44:26 359

原创 整型数组中其他数出现k次找出只出现1次的数

在其他数都出现k次的数组中找到只出现一次的数整型数组中其他数都出现k次找到唯一出现1次的数无进位k进制求和注意整型包括负数,k进制数组转换需要使用取余操作。java:向上取余python:向下取余解决方法1. abs(num) < k即停止取余操作;2. 无进位相加时保留符号位,将绝对值取余,再添加符号位。

2020-02-20 19:18:37 604

原创 整型数字的英文表达和中文表达

整型数字的英文表达和中文表达有符号32位整数的英文表达和中文表达考察业务逻辑能力,将阿拉伯数字以英文和中文表达显示英文表达以三个数字为一组,依次为Billion, Million, Thousand,三个数字内对应1 ~ 999,1~19,20,30,40,50,60,70,80,90有特定英文单词,其余由前面特定的英文单词拼接;中文表达以四个数字为一组,依次为亿, 万,四个数字内对应1 ~ 9999,依次为千,百,十,个位为一、二、三、四、五、六、七、八、九,为每个单位的数值表示。

2020-02-15 17:57:40 1387

原创 有序旋转数组最小值

在有序旋转数组中找到最小值升序旋转数组最多下降一次值(散点构成的两条向上的直线)二分查找升序旋转数组中找到最大值:先找到最小值的索引,最小值前一位就是最大值

2020-02-14 17:50:32 189

原创 回文数判断

回文数判断判断一个数是否是回文数首先求绝对值,统一转换为非负数;对于非负数,判断最高位和最低位是否相等,相等则继续判断中间数是否回文数。

2020-02-13 21:28:26 462

原创 从N个数中等概率打印M个数

从N个数中等概率打印M个数与最后一个位置的数值交换很多有关等概率随机的题目沿用这个思路,例如等概率随机快速获取key的结构。

2020-02-13 19:59:16 180

原创 1到n中1出现的次数

1到n中数字1出现的次数给定一个整数n,返回从1到n的数字中1出现的个数暴力遍历:O(NlogN)计数规律:O(logN*logN)整体范围划分为部分范围,再求和;部分范围为最高位与其他位之和

2020-02-13 12:58:18 569

原创 伪K进制字符串与数字对应

一种字符串和数字的对应关系伪K进制字符串与数字对应字符数组包含不同的字符,生成相对应的数值关系保证每个位置上的数至少为1数字转换为字符串字符串转换为数字

2020-02-12 12:15:04 307

原创 正数数组的最小不可组成和

正数数组的最小不可组成和正整数数组的最小不可组成和 暴力递归求出每一个非空子集的累加和动态规划数组前i个累加值递推出前i+1个累加值包含1的正整数数组的最小不可组成和可组成和范围scale则从0开始扩大若scale + 1 >= arr[i],则扩大范围否则找到正数数组最小不可组成和——scale + 1。

2020-02-11 09:00:01 1479

原创 距离首都距离

路径数组转化为统计数组距离首都距离paths[i]==j代表城市i连向城市j,nums[i]==j代表距离首都为i的城市有j座1.路径数组转换为距离数组2.距离数组转换为统计数组时间复杂度为O(N),额外空间复杂度为O(1)

2020-02-09 12:44:19 354

原创 区间上的数出现概率指数变化

调整区间上数出现的概率区间上的数出现概率指数变化求k次random()结果中的最大值

2020-02-08 14:44:37 284

原创 RandomPool等概率随机快速获取key

RandomPool等概率随机快速获取keykey_num_map和num_key_map在移除给定的key时,需要调整对应的num和count

2020-02-08 12:29:57 257

空空如也

空空如也

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

TA关注的人

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