![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
惠菁
我见过大海,看过繁星,但唯独遇见你,是我长久以来,所有奔赴的意义。
展开
-
【Java|golang】2379. 得到 K 个黑块的最少涂色次数---滑动窗口
给你一个长度为 n 下标从 0 开始的字符串 blocks ,blocks[i] 要么是 'W' 要么是 'B' ,表示第 i 块的颜色。字符 'W' 和 'B' 分别表示白色和黑色。原创 2023-03-09 18:30:00 · 287 阅读 · 0 评论 -
【Java|golang】剑指 Offer 47. 礼物的最大价值---动态规划
在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?原创 2023-03-08 18:15:00 · 68 阅读 · 0 评论 -
【Java|golang】1247. 交换字符使得字符串相同
有两个长度相同的字符串 s1 和 s2,且它们其中 只含有 字符 "x" 和 "y",你需要通过「交换字符」的方式使这两个字符串相同。原创 2023-03-07 18:45:00 · 348 阅读 · 0 评论 -
【Java|golang】面试题 05.02. 二进制数转字符串
二进制数转字符串。给定一个介于0和1之间的实数(如0.72),类型为double,打印它的二进制表达式。如果该数字无法精确地用32位以内的二进制表示,则打印“ERROR”。原创 2023-03-02 22:00:00 · 148 阅读 · 0 评论 -
【Java|golang】1124. 表现良好的最长时间段---双指针
给你一份工作时间表 hours,上面记录着某一位员工每天的工作小时数。原创 2023-02-14 10:48:44 · 70 阅读 · 0 评论 -
【Java|golang】1234. 替换子串得到平衡字符串---双指针
有一个只含有 'Q', 'W', 'E', 'R' 四种字符,且长度为 n 的字符串。原创 2023-02-13 20:24:35 · 465 阅读 · 0 评论 -
【Java|golang】1138. 字母板上的路径
我们从一块字母板上的位置 (0, 0) 出发,该坐标对应的字符为 board[0][0]。在本题里,字母板为board = ["abcde", "fghij", "klmno", "pqrst", "uvwxy", "z"],如下所示。原创 2023-02-12 11:55:57 · 374 阅读 · 0 评论 -
【Java|golang】2180. 统计各位数字之和为偶数的整数个数---避免时间复杂度O(N)
给你一个正整数 num ,请你统计并返回 小于或等于 num 且各位数字之和为 偶数 的正整数的数目。原创 2023-01-06 16:59:04 · 179 阅读 · 0 评论 -
【Java|golang】1785. 构成特定和需要添加的最少元素---向上取整
向上取整原创 2022-12-22 17:58:14 · 85 阅读 · 0 评论 -
【Java|golang】1753. 移除石子的最大得分
你正在玩一个单人游戏,面前放置着大小分别为 a、b 和 c 的 三堆 石子。原创 2022-12-21 11:20:11 · 442 阅读 · 0 评论 -
【golang】1780. 判断一个数字是否可以表示成三的幂的和
给你一个整数 n ,如果你可以将 n 表示成若干个不同的三的幂之和,请你返回 true ,否则请返回 false 。原创 2022-12-09 16:39:43 · 151 阅读 · 0 评论 -
【java|golang】1758. 生成交替二进制字符串的最少操作数
给你一个仅由字符 '0' 和 '1' 组成的字符串 s 。一步操作中,你可以将任一 '0' 变成 '1' ,或者将 '1' 变成 '0' 。原创 2022-11-29 13:36:58 · 301 阅读 · 0 评论 -
【Java|golang】790. 多米诺和托米诺平铺---动态规划,找规律
有两种形状的瓷砖:一种是 2 x 1 的多米诺形,另一种是形如 "L" 的托米诺形。两种形状都可以旋转。原创 2022-11-18 14:13:25 · 78 阅读 · 0 评论 -
【Java|golang】775. 全局倒置与局部倒置
给你一个长度为 n 的整数数组 nums ,表示由范围 [0, n - 1] 内所有整数组成的一个排列。原创 2022-11-16 18:39:47 · 406 阅读 · 0 评论 -
【Java|golang】1710. 卡车上的最大单元数---桶排序和排序对比
请你将一些箱子装在 一辆卡车 上。给你一个二维数组 boxTypes ,其中 boxTypes[i] = [numberOfBoxesi, numberOfUnitsPerBoxi] :原创 2022-11-15 10:53:33 · 162 阅读 · 0 评论 -
【Java|golang】791. 自定义字符串排序---使用桶排序
给定两个字符串 order 和 s 。order 的所有字母都是 唯一 的,并且以前按照一些自定义的顺序排序。原创 2022-11-14 19:41:40 · 392 阅读 · 0 评论 -
【Java|golang】754. 到达终点数字
在一根无限长的数轴上,你站在0的位置。终点在target的位置。原创 2022-11-05 15:05:35 · 439 阅读 · 0 评论 -
【java|golang】915. 分割数组--维护两个变量 当前最大值和左数组最大值
维护两个变量 当前最大值和左数组最大值原创 2022-10-24 09:59:34 · 95 阅读 · 0 评论 -
【java|golang】779. 第K个语法符号
我们构建了一个包含 n 行( 索引从 1 开始 )的表。首先在第一行我们写上一个 0。接下来的每一行,将前一行中的0替换为01,1替换为10。原创 2022-10-20 19:15:18 · 166 阅读 · 0 评论 -
【golang】for range中取地址操作的陷阱以及解决方法
注意:range每次都会把当前值赋值到循环变量上,而不是直接使用原变量type student struct { name string age int}func main() { m := make(map[string]*student) stus := []student{ {name: "小王子", age: 18}, {name: "娜扎", age: 23}, {name: "大王八", age: 9000}, } for _, stu := range stus原创 2022-03-22 10:00:33 · 813 阅读 · 0 评论 -
【Java】@AllArgsConstructor、@Value、@Component共用存在的问题及No qualifying bean of type ‘java.lang.Integer‘
No qualifying bean of type 'java.lang.Integer' available: expected at least 1 bean which qualifies as autowire candidate.问题解决原创 2022-10-13 17:50:30 · 1458 阅读 · 0 评论 -
【Java】769. 最多能完成排序的块
给定一个长度为 n 的整数数组 arr ,它表示在 [0, n - 1] 范围内的整数的排列。原创 2022-10-13 13:55:04 · 308 阅读 · 0 评论 -
【sql】MySQL中使用distinct单、多字段去重方法
MySQL中使用distinct单、多字段去重方法原创 2022-09-30 16:33:46 · 45434 阅读 · 4 评论 -
数组转集合出现UnsupportedOperationException异常
数组转集合出现UnsupportedOperationException异常原创 2022-09-28 16:45:37 · 308 阅读 · 0 评论 -
【Java】面试题 17.09. 第 k 个数--三指针+桶排序
有些数的素因子只有 3,5,7,请设计一个算法找出第 k 个数。注意,不是必须有这些素因子,而是必须不包含其他的素因子。例如,前几个数按顺序应该是 1,3,5,7,9,15,21。原创 2022-09-28 11:05:14 · 226 阅读 · 0 评论 -
【Java】698. 划分为k个相等的子集--回溯 + 剪树 + 数组排序加速搜索
给定一个整数数组 nums 和一个正整数 k,找出是否有可能把这个数组分成 k 个非空子集,其总和都相等。原创 2022-09-27 10:20:05 · 150 阅读 · 0 评论 -
【Java】类型比较-装箱和拆箱
装箱和拆箱原创 2022-07-22 16:52:25 · 395 阅读 · 0 评论 -
【Java】516. 最长回文子序列---理解动态规划子公式,快速解决子问题!!!
给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。示例 1:输入:s = “bbbab”输出:4解释:一个可能的最长回文子序列为 “bbbb” 。示例 2:输入:s = “cbbd”输出:2解释:一个可能的最长回文子序列为 “bb” 。提示:1 <= s.length <= 1000s 仅由小写英文字母组成代码:public int longestPalindro原创 2021-08-12 12:01:49 · 191 阅读 · 0 评论 -
【Java】446. 等差数列划分 II - 子序列---定义map数组,每个key的子序列个数,避免踩坑!!!
给你一个整数数组 nums ,返回 nums 中所有 等差子序列 的数目。如果一个序列中 至少有三个元素 ,并且任意两个相邻元素之差相同,则称该序列为等差序列。例如,[1, 3, 5, 7, 9]、[7, 7, 7, 7] 和 [3, -1, -5, -9] 都是等差序列。再例如,[1, 1, 2, 5, 7] 不是等差序列。数组中的子序列是从数组中删除一些元素(也可能不删除)得到的一个序列。例如,[2,5,10] 是 [1,2,1,2,4,1,5,10] 的一个子序列。题目数据保证答案是一个原创 2021-08-11 13:00:10 · 107 阅读 · 0 评论 -
【Java】413. 等差数列划分---时间复杂度O(N),最详细算法,一步步求解!!!
如果一个数列 至少有三个元素 ,并且任意两个相邻元素之差相同,则称该数列为等差数列。例如,[1,3,5,7,9]、[7,7,7,7] 和 [3,-1,-5,-9] 都是等差数列。给你一个整数数组 nums ,返回数组 nums 中所有为等差数组的 子数组 个数。子数组 是数组中的一个连续序列。示例 1:输入:nums = [1,2,3,4]输出:3解释:nums 中有三个子等差数组:[1, 2, 3]、[2, 3, 4] 和 [1,2,3,4] 自身。示例 2:输入:nums = [1]原创 2021-08-10 10:06:21 · 501 阅读 · 0 评论 -
【Java】面试题 10.02. 变位词组---使用hashmap存储k,v键值对,方便高效!!!
编写一种方法,对字符串数组进行排序,将所有变位词组合在一起。变位词是指字母相同,但排列不同的字符串。注意:本题相对原题稍作修改示例:输入: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],输出:[[“ate”,“eat”,“tea”],[“nat”,“tan”],[“bat”]]说明:所有输入均为小写字母。不考虑答案输出的顺序。代码:public List<List<String>> groupAnagrams(Str原创 2021-07-18 09:54:49 · 106 阅读 · 0 评论 -
【Java】剑指 Offer 42. 连续子数组的最大和& 53. 最大子序和---使用动态规划,时间复杂度O(N)!!!
输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。要求时间复杂度为O(n)。示例1:输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。提示:1 <= arr.length <= 10^5-100 <= arr[i] <= 100代码:public static int maxSubArray(int[] nums) { int len=原创 2021-07-17 09:18:56 · 59 阅读 · 0 评论 -
【Java】面试题 17.10. 主要元素---时间复杂度为 O(N) 、空间复杂度为 O(1),理解思想,快速解决问题!!!
数组中占比超过一半的元素称之为主要元素。给你一个 整数 数组,找出其中的主要元素。若没有,返回 -1 。请设计时间复杂度为 O(N) 、空间复杂度为 O(1) 的解决方案。示例 1:输入:[1,2,5,9,5,9,5,5,5]输出:5示例 2:输入:[3,2]输出:-1示例 3:输入:[2,2,1,1,1,2,2]输出:2代码:public static int majorityElement(int[] nums) { int a=nums[0]; int sum=1;原创 2021-07-09 16:05:23 · 135 阅读 · 0 评论 -
【Java】剑指 Offer 15. 二进制中1的个数---采用两种方法计算,使用位运算或Integer包装类方法!!!
请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 ‘1’。示例 2:输入:00000000000000000000000010000000输出:1解释:输入的二进制串 0000原创 2021-06-23 10:42:25 · 75 阅读 · 0 评论 -
【Java】474. 一和零---使用动态规划,解决两个变量问题,划重点!!!
给你一个二进制字符串数组 strs 和两个整数 m 和 n 。请你找出并返回 strs 的最大子集的大小,该子集中 最多 有 m 个 0 和 n 个 1 。如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。示例 1:输入:strs = [“10”, “0001”, “111001”, “1”, “0”], m = 5, n = 3输出:4解释:最多有 5 个 0 和 3 个 1 的最大子集是 {“10”,“0001”,“1”,“0”} ,因此答案是 4 。其他满足题意但较原创 2021-06-06 09:08:35 · 168 阅读 · 0 评论 -
【java】数组中相加和为0的三元组---时间复杂度O(N^2),优化代码!!!
描述给出一个有n个元素的数组S,S中是否有元素a,b,c满足a+b+c=0?找出数组S中所有满足条件的三元组。注意:三元组(a、b、c)中的元素必须按非降序排列。(即a≤b≤c)解集中不能包含重复的三元组。例如,给定的数组 S = {-10 0 10 20 -10 -40},解集为(-10, -10, 20),(-10, 0, 10)0 <= S.length <= 1000示例1输入:[0]返回值:[]示例2输入:[-2,0,1,1,2]返回值:[[-2,0,2原创 2021-05-29 10:02:20 · 364 阅读 · 0 评论 -
【java】二分查找-II---优化二分查找,避免重复元素!!!
描述请实现有重复数字的升序数组的二分查找给定一个 元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1示例1输入:[1,2,4,4,5],4复制返回值:2复制说明:从左到右,查找到第1个为4的,下标为2,返回2示例2输入:[1,2,4,4,5],3返回值:-1示例3输入:[1,1,1,1,1],1返回值:0代码:public int search (int[]原创 2021-05-28 17:19:03 · 84 阅读 · 0 评论 -
【Java】两数之和---使用集合优化代码!!!
描述给出一个整数数组,请在数组中找出两个加起来等于目标值的数,你给出的函数twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于index2.。注意:下标是从1开始的假设给出的数组中只存在唯一解例如:给出的数组为 {20, 70, 110, 150},目标值为90输出 index1=1, index2=2示例1输入:[3,2,4],6复制返回值:[2,3]复制说明:因为 2+4=6 ,而 2的下标为2 , 4的下标为3 ,又因为 下标原创 2021-05-28 17:03:47 · 102 阅读 · 0 评论 -
【java】剑指 Offer 04. 二维数组中的查找----使用二分查找!!!
在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14, 17, 24],[18, 21, 23, 26, 30]]给定 target = 5,返回 true。给定 ta原创 2021-05-25 11:47:03 · 131 阅读 · 0 评论 -
【java】剑指 Offer 10- I. 斐波那契数列---使用动态规划,避免时间超时!!!
写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:1示例 2:输入:n = 5输出:5提示:原创 2021-05-25 10:52:37 · 191 阅读 · 0 评论