• leetcode-每日打卡-day 1


    leetcode 每日打卡

    附上kuangbin大佬话激励自己:
    人一我百,人十我万,追逐青春得梦想,怀着自信的心,永不放弃!
    2020.2.8


    记录下来自己做题时得思路,并不一定是最优解

    #1282 用户分组

    struct node{
        int id, group;
    };
    bool cmp(node a,node b){return a.group < b.group;} 
    class Solution {
    public:
        vector<vector<int>> ans;
        vector<vector<int>> groupThePeople(vector<int>& groupSizes) {
            vector<node> tmp;
            for(int i = 0;i < groupSizes.size();i ++)
                tmp.push_back({i,groupSizes[i]});
            sort(tmp.begin(),tmp.end(),cmp);
            int index = 0;
            while(index < groupSizes.size())
            {
                vector<int> now;
                for(int i = index;i < index + tmp[index].group;i ++)
                    now.push_back(tmp[i].id);
                index += now.size();
                ans.push_back(now);
            }
            return ans;       
        }
    };
    
    

    #1221 分割平衡字符串

    class Solution {
    public:
        int balancedStringSplit(string s) {
            int ans = 0, k = 0;
            for(int i = 0;i < s.size();i ++)
            {
                if(s[i] == 'L')k++;
                if(s[i] == 'R')k--;
                if(k == 0)ans ++;
            }
            return ans;
        }
    };
    

    #861 翻转矩阵后的得分

    class Solution {
    public:
        void turncol(int col,vector<vector<int>>& A){
            for(int i = 0;i < A.size();i++){
                A[i][col] ^= 1;
            }
        }
        void turnrow(int row,vector<vector<int>>& A){
            for(int i = 0;i < A[0].size();i++){
                A[row][i] ^= 1;
            }
        }
        int matrixScore(vector<vector<int>>& A) {
            // 优先考虑第一列全部换成 1
            for(int i = 0;i < A.size();i ++){
                if(A[i][0] != 1){
                    turnrow(i,A);
                }
            }
            // 确保这一列 count(1) > count(0)
            for(int i = 1;i < A[0].size();i ++){
                int count1 = 0,count0 = 0;
                for(int j = 0;j < A.size();j ++){
                    if(A[j][i] == 1)count1++;
                    else count0++;
                }
                if(count0 > count1)turncol(i,A);
            }
            int ans = 0;
            for(int i = 0;i < A.size();i ++){
                int k = 1;
                for(int j = A[i].size() - 1;j >= 0;j--){
                    if(A[i][j])ans += k;
                    k *= 2;
                }
            }
            return ans;
        }
    };
    
    
    

    #921 使括号有效的最少添加

    class Solution {
    public:
        int minAddToMakeValid(string S) {
            int l = 0,r = 0;
            for(int i = 0;i < S.size();i ++){
                if(S[i] == '(') l++;
                if(S[i] == ')'){
                    if(l > 0)l--;
                    else r++;
                }
            }
            return l + r;
        }
    };
    

    #763 划分字母区间

    class Solution {
    public:
        vector<int> ans;
        vector<int> partitionLabels(string S) {
            map<char,int> lastindex;
            for(int i = 0;i < S.size();i ++){
                lastindex[S[i]] = i;
            }
            //从头开始遍历 如果遇到一个新的字母就得出他最后出现位置得值
            //和当前最大得位置比较如果遍历到最大得位置还没有出现新的字母就将其加入答案
            int i = 0;
            int maxl = lastindex[S[0]];
            while(i < S.size()){
                int len = 0;
                for(;i <= maxl;i++){
                    maxl = max(maxl,lastindex[S[i]]);
                    len++;
                }
                ans.push_back(len);
                len = 0;
                maxl = lastindex[S[i]];
            }
            return ans;
        }
    };
    
  • 相关阅读:
    ExtJs005继承
    ExtJs004define定义类
    ExtJS笔记
    解决vscode-pandoc插件生成pdf中文显示问题
    UDP学习笔记(.NET)
    WPF类库不能添加资源词典(xaml)的解决办法
    解决win10下获取操作系统版本为6.2.900(win8)的问题
    [转] Unit Test 访问Internal类型和方法
    VS2017使用小技巧(持续更新。。。)
    [转]Github遇到Permanently added the RSA host key for IP address '192.30.252.128' to the list of known host
  • 原文地址:https://www.cnblogs.com/wlw-x/p/12285296.html
Copyright © 2020-2023  润新知