avatar
Articles
122
Tags
98
Categories
0

Home
Archives
Tags
Categories
List
  • Music
  • Movie
Link
About
Hexo
Home
Archives
Tags
Categories
List
  • Music
  • Movie
Link
About

Hexo

王道2_2_24
Created2020-07-01
题目大意给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 说明:不允许修改给定的链表。 。 思路 快慢两个指针,fast走两步,slow走一步,如果相遇就是有环 假设head与入幻点相差a,入环与slow差b,fast比slow多走a+b(2倍关系),若slow再走a会到入幻点(因为入幻与slow差b),而且head走a也是入幻点,所以如果a=slow,那么就是入幻点 代码实现12345678910111213141516171819202122//快慢指针,若相遇择优换 ListNode *fast=head,*slow=head; int flag=0; while(slow&&fast->next){ //fast走两次,所以需要检查fast的下一个 slow=slow-> ...
王道2_2_25
Created2020-07-01
题目大意 给定一个单链表 L:L0→L1→…→Ln-1→Ln , 将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→… 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 思路 先找到中间节点,q用两次next,p用一次next,等q为空,那么p就是中间节点 对p后面的节点进行头插法,形成逆序,如123456,变成123465,*注意是465* 然后进行断链,形成1234和65两条链 最后进行和链162534 代码实现12345678910111213141516171819202122232425262728void reorderList(ListNode* head) { ListNode* p=head,*q=head,*r,*s=head; if(!head) //head为空,则直接退出 return ; while(q->next){ //寻找中间结点 q=q->next ...
王道2_2_21
Created2020-07-01
题目大意实现一种算法,找出单向链表中倒数第 k 个节点。返回该节点的值。 思路双指针,第一个p先走k部,然后q从head开始,pq同时走,直到p为空,q就是索要的节点 设p与结尾查x次,总长k+x次,p走了x次,也就是倒数k 代码实现12345678910111213int kthToLast(ListNode* head, int k) { ListNode* c=head; while(k){ head=head.next; k--; } while(head){ c=c.next; head=head.next; } return c.val; }
王道2_2_6
Created2020-07-01
题目大意给定一个头结点链表,按照从小到大排序 思路根据插入排序的思路和逆置链表的思路,首先先把头结点和他的next摘出p,让p为读取元链表的节点,pre为摘出来新链表的头结点,然后pre遍历,小于p.val的就继续,不然就是正常的插入。 代码实现12345678910111213141516171819202122232425262728293031struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {}}; //本题思路插入排序,头插法类似,吧l取出,做个新链表class Solution {public: void deleteNode(ListNode* node) { ListNode *p=node.next,*q=p.next; //pre是断链后端头插法节点 ListNode *pre; //进行断链 p.nex ...
a1010
Created2020-06-25
a1009
Created2020-06-25
a1009题目大意多项式乘法。 解决方法与前面的多项式加法基本类似。不过要构建两个双精度数组。第一个保存第一列的数字系数和指数。然后再还有一个哈希表。这个是保存第一列由哪几个数字是要进行指数相加的。第二列就首先是遍历这个哈希表。然后进行赋值。如果bi不是零,那么次数就加一。经过加法后,如果bi的值为0,那么次数就减一。,然后再次利用sort函数进行倒序输出就可以了。 代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263#include <iostream>#include <vector>#include <algorithm>#include <cstring>#include <cstdio>#include <map>#include <cmath>#include <set>#include < ...
a1008
Created2020-06-25
a1008题目大意求错电梯所需要花费的所有时间。 代码123456789101112131415161718192021222324252627282930313233343536#include <iostream>#include <vector>#include <algorithm>#include <cstring>#include <cstdio>#include <map>#include <cmath>#include <set>#include <stack>#include <queue>//cin用多了超市using namespace std;const int maxn=100100;int main() { int n; cin>>n ; int cost[n]; for (int i = 0; i < n; ++i) { scanf("%d", ...
a1007
Created2020-06-25
a1007题目大意给出序列片段最大的和。 解决方法使用动态规划, 第一步构建d[p]初始值1d[0]=cost[0]; 第二步检查是不是所有的都是负数如果是,那么直接返回0 1234567891011int flag=0; for (int j = 0; j < n; ++j) { if (cost[j]>=0){ flag= 1; } } if (flag==0){// printf("0 %d %d",cost[0],cost[n-1]); return 0; } 写出转移态方程如果d[j-1]+a[j]>a[j],d[j]=d[j-1]+a[j],否则d[j]=a[j] 123456789101112for (int k = 1; k < n; ++k) { if (d[k-1]+cost[k]>cost[k]){ ...
a1006
Created2020-06-25
a1006题目大意给出最早走了和最迟走的人。 解决方法通过把时间转化为秒,然后再利用sought函数进行排序。就可以给出答案。 代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647#include <iostream>#include <vector>#include <algorithm>#include <cstring>#include <cstdio>#include <map>#include <cmath>#include <set>#include <stack>#include <queue>//cin用多了超市using namespace std;const int maxn=100100;struct node{ string name; int start; int end;}stu[ ...
a1005
Created2020-06-25
a1005题目大意给出一个数,把它的和加起来。然后再用英语来表达出他的和。 解决方法通过字符串来进行加减,然后再利用哈希表来进行查值输出。 代码1234567891011121314151617181920212223242526272829303132333435#include <iostream>#include <vector>#include <algorithm>#include <cstring>#include <cstdio>#include <map>#include <cmath>#include <set>#include <stack>#include <queue>//cin用多了超市using namespace std;const int maxn=100100;int main() { string string1; cin>>string1; int ans=0; for (int i ...
1…91011…13
avatar
weijia
Articles
122
Tags
98
Categories
0
Follow Me
Announcement
This is my Blog
Recent Post
语雀同步到hexo
语雀同步到hexo2024-10-04
Hello World2024-10-04
d2024-10-03
nothing2024-10-03
第二周,GIN入门
第二周,GIN入门2024-10-03
Tags
BFS DFS MMPose action bilibili btc cf clash crash course cs144 cv deep learning detection docker excel git hexo ic image classification java jvm leetcode linked list linux mastercard mmlab mysql nemu npm office pa pat pa,一生一芯 pve,虚拟机 python pytorch segmentation shell torch usdt
Archives
  • October 20246
  • September 20245
  • August 20246
  • July 20247
  • June 20241
  • May 20246
  • April 20242
  • August 20231
Info
Article :
122
UV :
PV :
Last Push :
©2020 - 2024 By weijia
Framework Hexo|Theme Butterfly