摘要: 解题 思路 这道题想复杂了,实质就是遍历找1,像[1,0,0,0]这种类型的,一脸懵,所以理解题意很重要,还有需要注意提示的信息。 最后虽然通过,但写得太。。。啰嗦了 代码 优解 思路 使用双指针pre 、next 分别记录 “1” 的 一前一后 的索引 将初始pre= 100000,因为第一个1的 阅读全文
posted @ 2020-05-03 18:22 YH_Simon 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 思路1 思路 既然每个数字都要做开头 双重for循环 O(n^2) 当开头的数字确定时,向后遍历 在每一次向后遍历过程中,动态更新数列中的min和max,同时引用count计数器 验证max min的绝对差 与 limit 的关系 将符合结果的count 装入集合list 对集合list进行sort 阅读全文
posted @ 2020-05-03 17:11 YH_Simon 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 快乐数(环 快慢指针) 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。 如果 n 是快乐数就返回 Tru 阅读全文
posted @ 2020-05-02 17:49 YH_Simon 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 暴力解法 思路很简单,依次计算从各个字符开始的无重复子串的长度,时间复杂度O(n^2) java / 使用滑动窗口 O(n) 6ms 85% 40M 5% @param s @return / public int lengthOfLongestSubstring3(String s) { int 阅读全文
posted @ 2020-05-02 17:48 YH_Simon 阅读(167) 评论(0) 推荐(0) 编辑
摘要: ​ 第一次解题思路: 遍历数组,将数字和出现的次数装到map集合 遍历map集合,取到题目要求值 (其实不能用Map(空间复杂度O(n))) 优化 解题思路:分组位运算 ​ 题目要求时间复杂度O(n),空间复杂度为O(1),因此不能用map(空间复杂度O(n)) ​ 代码如下: 阅读全文
posted @ 2020-05-02 17:46 YH_Simon 阅读(803) 评论(0) 推荐(0) 编辑
摘要: 暴力求解 优化 解题思路 准备两个指针,一个指向开头,一个指向结尾,此时容器的底最大的 随着指针向内移动,会造成容器的底变小,在这种情况下想让容器盛水变多,就只能在容器的嗷下功夫。 那我们如何决策哪个指针移动呢?我们能够发现不管是左指针向右移一位,还是右指针想左移一位,容器的底都是一样的,都比原来减 阅读全文
posted @ 2020-05-02 17:41 YH_Simon 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 对角线遍历 自己写的,没水平 52/56 解题思路: 知识点补充: "几种常见的Map区别" 阅读全文
posted @ 2020-04-26 16:02 YH_Simon 阅读(310) 评论(0) 推荐(0) 编辑
摘要: Q1 逐步求和得到正数的最小值 自己代码:AC 不精练 Q3 长度为n的开心字符串字典序第k小的字符串 解题思路: 回溯 dfs 回溯过程中,每次添加一个字符(a, b, c),并使得添加的字符与前一个字符不同,当添加的字符数为n时,则找到长度为n的开心字符串。 对回溯过程得到对回溯过程得到的所有的 阅读全文
posted @ 2020-04-26 15:33 YH_Simon 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 限制文字的显示数量,超过用省略号代替 .c1{ display: block; width: 200px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } 阅读全文
posted @ 2020-03-21 16:23 YH_Simon 阅读(69) 评论(0) 推荐(0) 编辑
摘要: 2020/2/28 背景: n!可能很大,而计算机能表示的整数范围有限,需要使用高精度计算的方法。使用一个数组A来表示一个大整数a,A[0]表示a的个位,A[1]表示a的十位,依次类推。 将a乘以一个整数k变为将数组A的每一个元素都乘以k,请注意处理相应的进位。 首先将a设为1,然后乘2,乘3,当乘 阅读全文
posted @ 2020-02-28 22:01 YH_Simon 阅读(128) 评论(0) 推荐(0) 编辑