2021春季每日一题 week1 未完结
Posted 辉小歌
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021春季每日一题 week1 未完结相关的知识,希望对你有一定的参考价值。
目录
92. 反转链表 II【难度: 中 / 知识点: 链表】
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode() : val(0), next(nullptr) {}
* ListNode(int x) : val(x), next(nullptr) {}
* ListNode(int x, ListNode *next) : val(x), next(next) {}
* };
*/
class Solution {
public:
ListNode* reverseBetween(ListNode* head, int left, int right)
{
ListNode* p=new ListNode(-1); p->next=head;
ListNode* ans=p;
for(int i=0;i<left-1;i++) p=p->next;
auto a=p->next,b=a->next;
for(int i=0;i<right-left;i++)
{
auto temp=b->next;
b->next=a;
a=b;
b=temp;
}
p->next->next=b;
p->next=a;
return ans->next;
}
};
35. 反转链表【难度: 中 / 知识点: 链表】
/**
* Definition for singly-linked list.
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(NULL) {}
* };
*/
class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode *ans=nullptr;
while(head)
{
auto temp=head->next;
head->next=ans;
ans=head;
head=temp;
}
return ans;
}
};
1603. 设计停车系统 【难度: 简单 / 知识点: 模拟】
class ParkingSystem {
public:
vector<int> cnt;
ParkingSystem(int big, int medium, int small)
{
cnt={big,medium,small};
}
bool addCar(int carType) {
int t=carType-1;
if(cnt[t]>=1)
{
cnt[t]--;
return true;
}
return false;
}
};
/**
* Your ParkingSystem object will be instantiated and called as such:
* ParkingSystem* obj = new ParkingSystem(big, medium, small);
* bool param_1 = obj->addCar(carType);
*/
3267. 小明上学【难度: 简单 / 知识点: 模拟】
#include<bits/stdc++.h>
using namespace std;
int main(void)
{
int r,y,g; cin>>r>>y>>g;
int n; cin>>n;
int sum=0;
while(n--)
{
int k,s; cin>>k>>s;
if(k==3) continue;
else if(k==1) sum+=s;
else if(k==2) sum+=r+s;
else sum+=s;
}
cout<<sum<<endl;
return 0;
}
150. 逆波兰表达式求值【未完成】
3302. 表达式求值【未完成】
73. 矩阵置零 【难度: 一般 / 知识点: 思维 】
class Solution {
public:
void setZeroes(vector<vector<int>>& ve)
{
map<int,int>mp1,mp2;
for(int i=0;i<ve.size();i++)
{
for(int j=0;j<ve[i].size();j++)
{
if(!ve[i][j]) mp1[i]++,mp2[j]++;
}
}
for(int i=0;i<ve.size();i++)
{
for(int j=0;j<ve[i].size();j++)
{
if(mp1[i]||mp2[j]) ve[i][j]=0;
}
}
}
};
3174. 旋转【难度:简单 / 知识点: 找规律】
#include<bits/stdc++.h>
using namespace std;
const int N=1e2+10;
int a[N][N],b[N][N],n,m;
int main(void)
{
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>a[i][j];
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++) b[j][n-i+1]=a[i][j];
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++) cout<<b[i][j]<<" ";
cout<<endl;
}
return 0;
}
以上是关于2021春季每日一题 week1 未完结的主要内容,如果未能解决你的问题,请参考以下文章