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 未完结的主要内容,如果未能解决你的问题,请参考以下文章

2021春季每日一题week7 未完结

2021春季每日一题week5 未完结

2021春季每日一题week6 未完结

2021春季每日一题week3 未完结

2021春季每日一题 week2 未完结

2021春季每日一题week8 未完结