- 博客(18)
- 收藏
- 关注
原创 DataGrip远程连接Linux服务器失败的解决办法
我们在Linux服务器中安装了MySQL,然后要想用datagrip软件远程连接,如果失败了,就像我这样。,意思是开放3306端口,然后再执行这条命令 ,然后上网一查是防火墙原因,我们执行这条命令,,重新加载防火墙规则。
2024-04-23 22:21:20 217
原创 一网打尽二叉数的层序遍历及相关衍生题
基本概念:层序遍历一个二叉树。就是从左到右一层一层的去遍历二叉树。需要借用一个辅助数据结构即队列来实现,队列先进先出,符合一层一层遍历的逻辑,而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。
2024-04-08 23:10:03 173
原创 代码随想录训练营第7天LeetCode454四数相加2,LeetCode383救赎信,LeetCode15三数之和,LeetCode18四数之和
思路:本质上还是一个元素在另一个集合中出现的次数,用哈希表法,但由于都是小写字母数组下标可控,所以选择数组作为哈希表,遍历magizine字符串的时候在哈希表对应的位置++,遍历ransomNote字符串的时候在哈希表对应的位置–,如果最后哈希表里面的长度变成了负数,则说明ransomNote字符串中有magizine字符串没有的字符,也就是不能由其构成。思路:本题因涉及去重,用哈希表显得格外繁琐,用双指针思路较为简洁,注重去重细节是关键,详细见代码注释。
2024-03-12 21:07:17 363 1
原创 代码随想录训练营第五天LeetCode242.有效的字母异位词
用哈希表方法较为适合,都是小写字母且元素小于是用哈希数组存储较为适合,定义一个哈希数组存放字符a到z出现的次数,遍历第一个字符串的时候就在哈希表对应的位置++,遍历第二个字符串的时候就在哈希表对应的位置–,最后遍历哈希表,其里面的元素为0则说明是异位词,否则不是。思路:因为输出结果的顺序不考虑和元素唯一,我们可以考虑set集合来作为哈希表,定义一个set集合来存放数组1的元素以及判断数组1和数组2是否元素相同,然后再定义一个set集合存放相同的元素,最后重新开辟一个和此set集合相同大小的数组,返回结果。
2024-03-10 22:58:42 366 1
原创 代码随想录训练营第四天LeetCode24两两交换链表的结点,LeetCode19.删除链表的倒数第N个节点,LeetCode160链表香蕉,LeetCode142环形链表
思路:搞清楚链表相交的结点一定是操作指针都指向它并且是第一次,所以两个链表长度不一样的话遍历速度也有所不同,于是可以求出两个链表长度的差值,然后将两个链表尾部对齐,让两个链表从同一起始位置遍历即可。思路:删除倒数第n个结点前一定得找到其前一个结点,用双指针法快慢指针首先都指向哨兵结点,然后快指针先走n+1步,然后再快慢指针同时走,然后找到了删除。思路:承接上一题,从两个指针第一次相遇开始,慢指针回到起点,快指针保持原位不变,慢指针和快指针一次都走一步当再次相遇时,地点就是环的入口。
2024-03-09 22:23:56 342
原创 代码随想录训练营第三天LeetCode203移除链表元素,LeetCode707设计链表,LeetCode206反转链表
思路:在头结点前设置一个哨兵结点,然后再定义两个指针,一个指向哨兵结点(不参与比较),一个指向头结点,当指向头结点的指针不为空且不等于所查找的元素时,两个指针同步后移,若找到所查找的元素则删除,则原头结点指向的指针往后平移。思路:构造一个新链表,从原来的链表依次拿到每个节点,创建新节点添加到新链表的头部,完成后新链表即是倒序的。思路:一些基本方法,需要仔细。
2024-03-08 22:19:02 401 1
原创 代码随想录训练营第二天LeetCode977有序数组的平方,LeetCode209长度最小的子数组,LeetCode59螺旋矩阵
思路:直观想法是暴力求解但时间复杂度不满足题目要求,又因是非递减数组,平方完最大元素只可能存在两边,所以考虑双指针解法在两边各定义一个指针,不断向中间逼近,与此同时定义一个大小一样的新数组,索引指向最后,双指针最开始遍历的显然是最大值,故放在索引最后存放最大元素,当两个指针遍历完时,新数组排序已完成。思路:注意循环不变量原则,每轮都确定左闭右开区间。
2024-03-07 23:20:56 318
原创 代码随想录训练营第一天LeetCode704二分查找,LeetCode35,LeetCode34,LeetCode27移除元素
思路二:双指针法,定义一个fast指针,代表新数组所需要的元素,再定义一个slow指针,代表新数组下标位置,如果新数组里的元素不等于所查找的值,则将元素赋给新数组下标位置,慢指针自增。思路一:暴力求解,外层循环遍历位置,如果找到与查找元素相等,再使用内层循环将查找元素之后的元素前移,覆盖掉所查找元素。思路:利用二分查找中的leftmost和rightmost方法,分别用方法找到第一个元素和最后一个元素,然后再合并。思路:要理解谁是插入位置,用二分查找基础版代码改写,找到返回 m,没找到 i 代表插入点。
2024-03-06 22:44:41 335
原创 Ubuntu中无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)解决办法
在Ubuntu中出现了E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用) E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),是否有其他进程正占用它?这个错误
2023-09-20 09:58:28 2042 6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人