问题解决
爱玩代码的勒勒
这个作者很懒,什么都没留下…
展开
-
刷题日记-JZ25合并有序链表
合并有序链表 递归方式合并链表pHead1,pHead2base case是 pHead1为空或者pHead2为空递归方式是如果pHead1->val < pHead2->val 则pHead1结点作为新链表的头结点,即mergeNode = pHead1;同时pHead1->next继续向下递归,因为pHead1->next这个节点也有可能小于pHead2即mergeNode->next = Merge(pHead1->next, pHead2);否原创 2021-10-01 10:48:39 · 64 阅读 · 0 评论 -
刷题日记-替换空格
思路:扩容将原来的字符串长度扩大到可以装下替换的之后的长度1个’ ’ 替换为’%20‘ 即一个空格本身有一个字节,还需2个字节,即m个空格,需要2m长度即newSize = originSize + 2m;从后往前 双指针p,q开始赋值当p>=0 并且 p<q时一直循环处理class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @原创 2021-09-28 16:01:56 · 75 阅读 · 0 评论 -
刷题日记-二维数组中查找某个目标值
时间复杂度 使用O(M+N)使用一种比较巧妙的搜索方法:从右上角开始搜索即x=0,y=n-1,arr[x][y]开始搜索若arr[x][y]== target 则返回true若arr[x][y]> target 若target小于当前值,只可能向左,即–y相反,则向下向更大的值搜索,++xclass Solution {public: bool Find(int target, vector<vector<int> > array) {原创 2021-09-27 22:11:14 · 101 阅读 · 0 评论 -
leetcode 剪绳子系列
### 剪绳子一利用动态规划状态转移### 剪绳子二绳子长度范围增加,导致结果必须要对1000000007求余,而求余过程导致动态规划失效,因此使用数学推导class Solution {public: int cuttingRope(int n) { // memo = new int[n+1]; // for(int i=0;i<=n;++i) memo[i] = -1; // return dp(n);..原创 2021-09-14 09:39:37 · 247 阅读 · 0 评论 -
最大公约数和最小公倍数
最大公约数和最小公倍数 gcd()最大公约数:辗转相除法 递归方法:简单,不用判断a,b大小,因为 如果a<b 调用gcd(b,a%b)==变为gcd(b,a) 迭代,需要判断一下a b大小,若a<b 交换 然后while循环 lcm最小公倍数lcm(a,b) = a * b / gcd(a,b)int gcd(int a,int b){ if(b==0) return a; return gcd(b,a%b);}//非...原创 2021-09-08 10:41:40 · 85 阅读 · 0 评论 -
解决mac主机无法与 Docker容器互通问题
方法很多,这里我说一下使用 docker-connector解决这个问题这是一个github开源项目docker-connector1. Mac 通过 brew 安装 docker-connectorbrew install wenjunxiao/brew/docker-connector2. 执行以下命令把 docker 的所有 bridge 网络都添加到路由中(拷贝已下指令)docker network ls --filter driver=bridge --format ...原创 2021-08-19 12:54:42 · 2454 阅读 · 3 评论