
日常算法组
Lucas-han
记录日常BUG,记录心得,记录学习
展开
-
LeetCode 翻转字符串里的单词
翻转字符串里的单词因为前几天一直在做数组的题,所以看到这个题的第一反应就是把字符串通过切割变成字符串数组,然后再循环颠倒位置。代码如下public static String reverseWords(String s) { s = s.replaceAll("\\u00A0", ""); String[] strs = s.split(" "); for (int i = 0; i < strs.length / 2; i++) {原创 2021-09-15 09:50:00 · 250 阅读 · 0 评论 -
LeetCode 最长公共前缀
最长公共前缀先看题目这是一道字符串的题,但是处理起来感觉还是和数组处理类似。在我的解法中,都用到了通过下标的操作。我的解法思路是,把字符串数组先按照长度进行排序,然后取出最后一个,也就是最长的字符串,把它作为标杆来做比较。取字符串第 i 位的字符后,循环去取字符串数组中后几个字符串相应 i 位的字符串,然后放入map,key是字符,value则是字符出现数量中,通过map的containsKey方法进行判断,看是否存在该数组,如果存在,则value自增,不存在的话,则新put一个key。等 i 位原创 2021-09-02 17:24:20 · 285 阅读 · 0 评论 -
LeetCode 零矩阵
零矩阵先看题目这道题还是一道比较简单的题,我看到这道题的第一反应是遇到0,就把0的行和列进行更新,但是一想发现不对,如果这样做的话,输出出来的矩阵就是个全0矩阵了。我想肯定有朋友是跟我一样的想法。于是我就换一个一个思路,把矩阵中0的位置记录下来,然后再进行循环,把0的行和列中的数组赋值为0。贴代码 /** * 这道题的坑是发现0后不能立即把n行n列全部置为0,否则整个矩阵就都是0了。避免了这个问题,这道题就迎刃而解了 * @param matrix */原创 2021-08-31 14:30:21 · 282 阅读 · 0 评论 -
LeetCode 搜索插入位置
搜索插入位置这也是数组系列的一道题,先看下题目。题目要求时间复杂度O(log n),而且相关标签页提示了用二分查找。在没做题前,O(log n)这种算法就是时间减半,说白了就是二分查找法。那么既然思路已经确定了,那么就差实现代码了。来看看我的代码public int searchInsert(int[] nums, int target) { // 起始位置 int start = 0; // 结束位置 int end = nums.l原创 2021-08-26 15:25:42 · 210 阅读 · 0 评论 -
LeetCode 寻找数组中心索引
引言这是第一篇我刷LeetCode的记录,趁着热乎劲,把自己的思路,和学习到的思路都总结一下寻找数组中心索引看到这个题的时候,首先我想的就是循环计算每个index左右两边的和,并且计算的时候不能包括index对应的数字,然后再做比较。先贴下代码。public int pivotIndex(int[] nums) { // 默认没有 int centerIndex = -1; for (int i = 0; i < nums.length; i原创 2021-08-25 15:39:55 · 124 阅读 · 0 评论