复制带随机指针的链表最长连续递增序列数组的度写字符串需要的行数最短补全词
创始人
2025-05-30 01:44:11
0

复制带随机指针的链表

来源:杭哥

138. 复制带随机指针的链表 - 力扣(LeetCode)

typedef struct Node Node;
Node* BuyNode(int x)
{Node* newnode = (Node*)malloc(sizeof(Node));newnode->val=x;newnode->next=NULL;newnode->random=NULL;return newnode;
}
struct Node* copyRandomList(struct Node* head) 
{if (head==NULL){return NULL;}Node* newnode=NULL;Node* cur=head;Node* newhead=BuyNode(cur->val);Node* cur2=newhead;cur=cur->next;while(cur!=NULL){newnode=BuyNode(cur->val);cur2->next=newnode;cur2=newnode;cur=cur->next;}Node* now1=head;Node* now2=newhead;cur=head;cur2=newhead;while(now1!=NULL){if (now1->random==NULL){now2->random=NULL;}else{cur=head;cur2=newhead;while(cur!=NULL){if (now1->random==cur){now2->random=cur2;}cur=cur->next;cur2=cur2->next;}}now1=now1->next;now2=now2->next;}   return newhead;
}
typedef struct Node Node;
Node* BuyNode(int x)
{Node* newnode = (Node*)malloc(sizeof(Node));newnode->val=x;newnode->random=NULL;newnode->next=NULL;return newnode;
}
struct Node* copyRandomList(struct Node* head) 
{if (head==NULL){return NULL;}Node* newnode=NULL;Node* prev=head;Node* cur=head->next;while(1){newnode = BuyNode(prev->val);prev->next=newnode;newnode->next=cur;if (cur==NULL){break;}prev=cur; cur=cur->next;}cur=head->next;prev=head;while(1){if (prev->random==NULL){cur->random=NULL;}else{cur->random=prev->random->next;}prev=prev->next->next;if (prev==NULL){break;}cur=cur->next->next;}Node* newhead=head->next;prev=head;cur=head->next;Node* fur=NULL;while(1){fur=cur->next;prev->next=fur;if (fur==NULL){break;}cur->next=fur->next;prev=fur;cur=cur->next;}return newhead;    
}
我想说:
  1. 一种方法的话是时间复杂度为o(N^2)的方法,第二种方法的话是时间复杂度为O(N)的方法。

  1. 第二种方法主要就是说,相当于在原先链表的基础之上,先给他插入一些新的拷贝节点,最主要关心的问题就是拷贝节点的random指针指向的位置,可以发现一个规律:拷贝节点的random指针指向的拷贝节点应该是其原先节点的random指针指向的节点的next指向的节点。


最长连续递增序列

来源:自己LeetCode刷题

674. 最长连续递增序列 - 力扣(LeetCode)

int findLengthOfLCIS(int* nums, int numsSize)
{int left=0;int right=1;int ans=1;while(right(right-left)?ans:(right-left);left=right;right++;}return ans;
}
我想说:
  1. 蛮简单的,双指针。


数组的度

来源:自己LeetCode刷题

697. 数组的度 - 力扣(LeetCode)

#include 
int cmp(const void* e1, const void* e2)
{return *((int*)e1)-*((int*)e2);
}
int findgap(int x,int *nums, int numsSize)
{int max=0;int min=numsSize;int l=-1;int r=-1;for (int i=0;ii?max:i;}}return max-min+1;
}
int findShortestSubArray(int* nums, int numsSize)
{if (numsSize==1){return 1;}int obj=0;int ans=0;int arr[numsSize];for (int i=0;ians){ans=right-left;obj=arr[left];}else if (ans==right-left){int obj1=arr[left];int gap1=findgap(obj1,nums,numsSize);int gap=findgap(obj,nums,numsSize);if (gap1
我想说:
  1. 很遗憾,现在只会暴力解法。


写字符串需要的行数

来源:自己LeetCode刷题

806. 写字符串需要的行数 - 力扣(LeetCode)

#include 
int* numberOfLines(int* widths, int widthsSize, char * s, int* returnSize)
{int* p = (int*)malloc(sizeof(int)*2);int sz=strlen(s);int row=0;int sum=0;for (int i=0;i100){row++;sum=0;i--;}else{sum+=widths[num];}}p[0]=row+1;p[1]=sum;*returnSize=2;return p;
}

我想说:

  1. 字符的话在计算机眼里本质上也是一个整型。


最短补全词

来源:自己LeetCode刷题

748. 最短补全词 - 力扣(LeetCode)

int cmp(const void* e1, const void* e2)
{return tolower(*((char*)e1))-tolower(*((char*)e2));
}
char * shortestCompletingWord(char * licensePlate, char ** words, int wordsSize)
{int i=0;char lp[10]={0};int sz=0;int len=1010;char* ans=NULL;while(licensePlate[i]!='\0'){if (isalpha(licensePlate[i])){lp[sz++]=licensePlate[i];}i++;}qsort(lp,sz,1,cmp);for (i=0;i
我想说:
  1. 依托于排序解题,也算是暴力解法吧。


相关内容

热门资讯

什么项目投资小赚钱快,如何投资...   现在大环境下风险投资越来越难。今天的市场已经不是改革开放时期卖货的时候了。现在人们的觉悟越来越高...
重庆市专升本政策 重庆市专升本...   目前,已有多个省市公布了升本考试的时间点。今天“川爱升本科之家”根据目前的信息做了一个总结,方便...
普通人创业的真实故事,创新创业...   一个客户来我们公司申请营业执照。我们来听听这位企业家的故事吧!            像有些人一...
武汉,武汉青年创业中心 武汉,...   @还真是第一次听说呢:怎么样能够称得上大厂?为什么在996被吐槽的时候,还有更多人去?之前字节调...
绿植盆卧室,稳重的人适合卧室装...   深冬时节,很多植物已经落叶归根,进入休眠期。外面寒冷刺骨。虽然室内的温度会控制的很暖,但是晴天我...
机器印花机,打印机创业 机器印...   现在流行的手机和数码产品市场,有相当一部分用户是年轻时尚的群体。如果他们想更个性化,除了换手机,...
让国通语成为滋养学生心灵的清泉 转自:内蒙古日报□本报记者  宋阿男  通讯员  冯雪  “我坚信花朵开放的时候有声音,它们唱歌、演...
以会为媒 成都精准对接促投引资 转自:成都日报锦观以会为媒 成都精准对接促投引资 活动围绕精准服务外资、外贸企业发展搭建沟通...
天谕手游快速升级,天谕手游帝王...   客观地说,只要说到近年来的MMORPG手游,很多玩家的抵触情绪就会油然而生,就像本能的条件反射一...
养老保险具体内容 养老保险具体...   首先,让我们明确一点。非分红型年金保险只要保额确定,从规定或约定的年龄开始就可以拿到钱,每年能拿...
非深户怎么申请创业补贴,深户人...   在深圳,这些人可以拿到60w的创业补贴!如果你是毕业五年内的大学生,或者深圳户口,那么我建议你看...
适合农村创业的小项目,关于老年...   最近有很多农村的粉丝朋友咨询我,都是关于农村商业项目的。其实现在的农村,有很多小生意能赚够,有的...
conda@tensorflo... 文章目录ref前言查找当前channel可用的tensorflowCPU版本gpu版本英文网站...
田径亚锦赛收官 中国队再添四金 转自:内蒙古日报据新华社首尔5月31日电  (记者  陆睿  孙一然)在韩国龟尾市举行的第26届亚洲...
东湖高新相关公司新增一项234... (转自:快查一企业中标了)快查APP显示,东湖高新相关公司武汉光谷环保科技股份有限公司于2025年5...
小程序的page.json如何... 本文小编为大家详细介绍“小程序的page.json如何配置”,内容详细,...
我区启动青少年阅读行动 转自:内蒙古日报本报5月31日讯  (记者  孙柳)5月30日,由自治区团委、自治区少工委、内蒙古新...
船桨翻飞 龙舟劈浪 转自:成都日报锦观船桨翻飞 龙舟劈浪 “百舟竞渡迎端午”主题活动是四川省近年打造的传统...
尽管俄罗斯心存疑虑 欧佩克+仍...   尽管主要成员国俄罗斯持保留意见,欧佩克 + 仍连续第三个月同意增加石油产量,进一步强化了一项已导...
余承东最新发声:有公司一款车就... 5月31日,在2025未来汽车先行者大会上,华为常务董事余承东表示,当前汽车企业不仅要有制造、销售、...