04 2020 档案
摘要:题目链接:https://leetcode-cn.com/problems/ba-shu-zi-fan-yi-cheng-zi-fu-chuan-lcof/ 递归 class Solution { public: int translateNum(int num) { if(num <= 9) re
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-yu-shuang-xiang-lian-biao-lcof/ 递归实现1 二叉搜索树进行中序遍历会得到递增排序的序列; 将递增排序的序列中每个元素的left和right修改,用两个指针
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/zi-fu-chuan-de-pai-lie-lcof/ 回溯1 class Solution { public: vector<string> ans; string path; vector<string> permut
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/chou-shu-lcof/ 常规解法 从0开始依次判断是不是丑数,判断到第n个返回; 算法直观,代码简介,但是效率不高,而且直接超时了 class Solution { public: bool isUgly(int n)
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/fu-za-lian-biao-de-fu-zhi-lcof/ 哈希 用哈希表做一个映射,hashmap的key是原先的节点,val是复制的节点。先初始化hashmap,然后分别next指针和random指针。 哈希表的作用
阅读全文
摘要:ERROR 1045 (28000) Access denied for user 'root'@'localhost' (using password: YES)最终解决方案 跳过密码验证进入mysql sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 找到[
阅读全文
摘要:自定义排序规则 假设nums任意两个数字的字符串格式x和y,则 若拼接字符串 x + y > y + x, 则 m > n; 反之,x + y < y + x, 则 n < m; 时间复杂度:O(nlogn) 空间复杂度:O(n) class Solution { public: string mi
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-ii-lcof/ 思路 关键点 还是从位运算的角度,考虑数字的二进制形式,各二进制位出现的次数都是3的倍数。说明出现了三次;因此,统计所有数字的各
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/qiu-12n-lcof/ 位运算 本题要求不使用乘除法,for/while/if/else/switch/case等关键字及条件判断语句; 使用递归来做,通常递归中条件的结束需要用到if,本题可以利用逻辑与的“短路”完成本
阅读全文
摘要:ping 测试网络连通性 ifconfig 显示当前系统中所有网络设备,基于ICMP协议开发的。 netstat 参数 -a (all)显示所有选项,netstat 默认不显示 LISTEN 相关。 -t (tcp)仅显示 tcp 相关选项 -u (udp)仅显示 udp 相关选项 -n 不显示别名
阅读全文
摘要:套接字格式 通用套接字格式 IPv4套接字地址格式 IPv6套接字地址格式 本地套接字地址格式 常用socket API socket创建套接字 bind绑定套接字和套接字地址 作用:将参数sockfd和addr绑定在一起,使sockfd这个用于网络通讯的文件描述符监听addr所描述的地址和端口号。
阅读全文
摘要:插入排序 每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子表中适当位置,直到全部记录插入完成为止; 直接插入排序 思想 待排序的记录放在数组R[0, n - 1]中; 排序过程中将R分成两个子区间,有序区R[0, i-1], 无序区R[i, n - 1]; 将当前无序区的第1个记录,插
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/da-yin-cong-1dao-zui-da-de-nwei-shu-lcof/ class Solution { public: vector<int> printNumbers(int n) { vector<int>
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/bu-ke-pai-zhong-de-shun-zi-lcof/ 思路 时间复杂度:O(nlogn) 空间复杂度: O(1) 将数据排序 第一次遍历数组(过滤掉有重复元素的),如果遇到非0元素,并且前后两个数相等,说明不是顺
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/gou-jian-cheng-ji-shu-zu-lcof/ 时间复杂度O(n) 空间复杂度O(1) class Solution { public: vector<int> constructArr(const vecto
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/bu-yong-jia-jian-cheng-chu-zuo-jia-fa-lcof/ 位运算 分析十进制是如何做加法的?以5 + 17为例说明 1. 只做各位相加不进位 个位:5 + 7 = 12, 不要进位是2,十位:
阅读全文
摘要:题目链接:https://leetcode cn.com/problems/di yi ge zhi chu xian yi ci de zi fu lcof/ 哈希
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/shu-zu-zhong-chu-xian-ci-shu-chao-guo-yi-ban-de-shu-zi-lcof/ 循环抵消 因为数组中有一个数字出现的次数超过数组长度的一半,它出现的次数比所有其它数字出现的次数和还要
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/shun-shi-zhen-da-yin-ju-zhen-lcof/ 模拟 顺时针定义四个方向:上右下左。 从左上角开始遍历,先往右走,走到不能走为止,然后更改到下个方向,再走到不能走为止,依次类推,遍历 nm 个格子后停止
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof/ 双指针 class Solution { public: vector<int> exch
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/yuan-quan-zhong-zui-hou-sheng-xia-de-shu-zi-lcof/ 思路 只关心最终活着的那个人的序号变化,从编号(索引值)的角度考虑; 从8个人开始,每次杀一个人,去掉被杀的人,然后把杀掉的
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/he-wei-sde-lian-xu-zheng-shu-xu-lie-lcof/ 双指针 [l,r]的区间和:s = (l + r) * (r - l + 1) / 2 通过利用l和r两个指针,初始l=1,r=2; 如果s
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/he-wei-sde-liang-ge-shu-zi-lcof/ 双指针(对撞指针) 时间复杂度:O(n) 空间复杂度:O(1) 用i和j分别指向数组头和尾,sum = nums[i] + nums[j] 如果sum > t
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/xu-lie-hua-er-cha-shu-lcof/ 递归 前序遍历序列化成字符串,在反序列化回去 注意:不要忘记null和数字后面空格,空格作为分隔两个节点的标识 时间复杂度:O(n) 空间复杂度:O(n) /** *
阅读全文
摘要:题目链接:https://leetcode cn.com/problems/er cha shu zhong he wei mou yi zhi de lu jing lcof/ 递归+回溯 遍历一遍树的节点,沿节点依次向下递增,回溯的时候,记得恢复现场
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/er-cha-shu-de-zui-jin-gong-gong-zu-xian-lcof/ 找两个节点的最低公共祖先,递归去找 1. 第一种情况,左右子树都有p和q,当前节点为他们的公共祖先 2. 第二种情况,左子树有或者右
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-zui-jin-gong-gong-zu-xian-lcof/ 利用二叉搜索树的性质,左子树都比根节点小,右子树都比根节点大;从根节点开始进行比较, 两个节点比根节点的值都大 最低
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/er-cha-shu-de-shen-du-lcof/ DFS(递归法) /** * Definition for a binary tree node. * struct TreeNode { * int val; * T
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/er-cha-sou-suo-shu-de-di-kda-jie-dian-lcof/ 递归 中序遍历的二叉搜索树序列为单调递增的序列,将中序遍历的结果放到vector中,第k大的数为v.size()-k位置的数 /** *
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/fan-zhuan-dan-ci-shun-xu-lcof/ 剑指offer 时间复杂度:O(n) 空间复杂度:O(1) class Solution { public: string reverseWords(string
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-iii-lcof/ BFS 使用双端队列,始终维持一头进一头出的状态,不然就乱了; 用res的大小来标志奇偶行; 偶数行,从左到右,前取后放 奇数行,
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-ii-lcof/ 队列(BFS) 与I类似,要按层打印,所以每次先获取队列的长度,这个长度即为该层元素的个数,然后将其保存到数组中,依次将其左右节点压
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-lcof/ 迭代法(BFS) 使用队列,先将根入队,当队列不空时进行如下操作: 获取队首元素,队首元素出栈 将其插入res数组中 如果左孩子或右孩子不
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/dui-cheng-de-er-cha-shu-lcof/ 递归 判断A的右子树和B的左子树是否对称 判断A的左子树和B的右子树是否对称 递归终止条件 1. 都为空指针,返回true 2. 只有一个为空,返回false 3.
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/er-cha-shu-de-jing-xiang-lcof/ 递归 递归的先序遍历二叉树,交换每个节点的左右子节点,即可生成二叉树的镜像 /** * Definition for a binary tree node. *
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/shu-de-zi-jie-gou-lcof/ 递归 从根节点开始递归判断A和B的节点是不是相等; 1) 如果A或B为空,则返回false 2) 否则,使用isSame依次判断A和B中节点是否相等 3)不相等,递归判断A的左
阅读全文
摘要:题目链接:https://leetcode cn.com/problems/zhong jian er cha shu lcof/submissions/ 哈希+ 递归 使用哈希表map记录中序遍历每个元素的位置 利用性质: 1. 先序遍历的第一个节点是根节点 2. 中序遍历的根节点的左边是左子树,
阅读全文
摘要:题目链接:https://leetcode cn.com/problems/shan chu lian biao de jie dian lcof/ 双指针 创建一个值为0的头结点,然后利用两个指针同时向前移动,判断第二个指针节点的值是否等于val;
阅读全文
摘要:题目链接:https://leetcode cn.com/problems/cong wei dao tou da yin lian biao lcof/ 改变链表 先逆置链表,然后将结果保存到数组中 reverse 依次将链表保存到数组中,然后逆置数组 栈 依次遍历链表并入栈,然后栈中元素依次弹到
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof/ 指针 遍历链表,把链表的每个节点依次逆置; 当头结点不为空时: 1. 备份头结点的下一个节点 2. 头结点的下一个节点更新为新的头结点 3. 新的头结点更新为头结点 4.
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof/ 遍历 当两个链表都不为空时,遍历两个链表,依次比较两个节点的值,将较小的节点的插入到新链表后面; 最后检查一下哪个链表还没有遍历完,直接将
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/liang-ge-lian-biao-de-di-yi-ge-gong-gong-jie-dian-lcof/ 双指针 /** * Definition for singly-linked list. * struct Li
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/dui-lie-de-zui-da-zhi-lcof/ 单调队列 额外维护一个单调队列(双端队列): 1. max_value: max_q为空返回-1,不空返回对头元素 2. push_back: value入队,判断va
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/hua-dong-chuang-kou-de-zui-da-zhi-lcof/ 单调队列 时间复杂度:O(n) 空间复杂度:O(k):双端队列中最多同时存储k个元素,即窗口大小 class Solution { public
阅读全文