摘要: 2023-11-10 541. 反转字符串 II - 力扣(LeetCode) 思路: 先转为char【】,再原地反转(不用取出来),最后转为字符串 class Solution { public String reverseStr(String s, int k) { //先转为char【】,再原 阅读全文
posted @ 2023-11-10 18:57 追梦•少年 阅读(20) 评论(0) 推荐(0)
摘要: 2023-11-10 344. 反转字符串 - 力扣(LeetCode) 思路: //栈 但是是o(1) 就不能用了 //链表也不行 //对称交换 可以 这里可以使用库函数,也可以自己写 class Solution { public void reverseString(char[] s) { / 阅读全文
posted @ 2023-11-10 18:44 追梦•少年 阅读(13) 评论(0) 推荐(0)
摘要: 2023-11-09 18. 四数之和 - 力扣(LeetCode) 思路:类似 15.3数之和 都是双指针的解法 时间复杂度为o(n3) class Solution { public List<List<Integer>> fourSum(int[] nums, int target) { // 阅读全文
posted @ 2023-11-09 21:47 追梦•少年 阅读(13) 评论(0) 推荐(0)
摘要: 2023-11-09 15. 三数之和 - 力扣(LeetCode) 思路: 此题并不适合哈希表法,去重问题很麻烦 用双指针法,但是注意:双指针法如果不优化(也就是3层暴力)是超时的 class Solution { public List<List<Integer>> threeSum(int[] 阅读全文
posted @ 2023-11-09 21:39 追梦•少年 阅读(21) 评论(0) 推荐(0)
摘要: 2023-11-08 ​​​​​​15. 三数之和 - 力扣(LeetCode) 此篇文章是刚开始做这道题时的错误想法,正确想法请看2,这是1. 思路: 1 暴力法 2 利用哈希表将3层循环转为2层 上面的方法会有去重问题: class Solution { public List<List<Int 阅读全文
posted @ 2023-11-08 21:59 追梦•少年 阅读(21) 评论(0) 推荐(0)
摘要: ​2023-11-08 383. 赎金信 - 力扣(LeetCode) 思路: 1 暴力法: 遍历前者,从后者找到就从后者删除 2 哈希表法: 前者存入哈希表:循环一定要遍历完的,调用的库函数较多 class Solution { Map<Character,Integer> map=new Has 阅读全文
posted @ 2023-11-08 10:25 追梦•少年 阅读(12) 评论(0) 推荐(0)
摘要: 2023-11-07 1. 两数之和 - 力扣(LeetCode) 思路: 1暴力法:o(n2)还行 2 哈希表法 最简单的哈希表算法 class Solution { public int[] twoSum(int[] nums, int target) { //暴力法 //哈希表 if(nums 阅读全文
posted @ 2023-11-07 15:15 追梦•少年 阅读(19) 评论(0) 推荐(0)
摘要: 2023-11-07 454. 四数相加 II - 力扣(LeetCode) 1 暴力法 o(n4)时间复杂度太高,不行 2 哈希表法 22一组,key为 相加 value为达到这个值的次数 res+=value+value了 class Solution { Map<Integer,Integer 阅读全文
posted @ 2023-11-07 15:09 追梦•少年 阅读(10) 评论(0) 推荐(0)