algorithm

1.1桶排序“桶的思想”

#include <bits/stdc++.h> 
using namespace std; 
signed main() {     
     ios::sync_with_stdio(0);     
     int n;     
     cin>>n;     
     vector<int> a(n,0);//数组a初始化为0    
     for(int i=0;i<n;++i){         
             cin>>a[i];     
     }     
     sort(a.begin(),a.end());     
     for(auto &i:a)cout<<i<<" \n"[&i==&a.back()];//空格的控制    
     return 0;
 }

1.2全排列函数next_permutation(a, a + n)

#include <bits/stdc++.h>
using namespace std;
vector<int> V;
int main()
{
    int n = 4;
    int a[4] = {1, 2, 3, 4};
    do
    {
        for (int i = 0; i < 4; i++)
        {
            printf("%d%c", a[i], i == 3 ? '\n' : ' ');
        }
    } while (next_permutation(a, a + n));
    return 0;
}

思想:异或操作

class Solution {
public:
    int missingNumber(vector<int>& nums) {
        int ans=nums.size();
        for(int i=0;i<nums.size();i++){
            ans^=i;
            ans^=nums[i];
        }
        return ans;
    }
};

#include <iostream>
using namespace std;
int main()
{
  // 请在此输入您的代码
  int n;
  cin>>n;
  string a;string b;
  cin>>a;
  cin>>b;
  int a0=0,a1=0,b0=0,b1=0;
  for(int i=0,len1=a.size();i<len1;i++)
  {
      if(a[i]=='1'){a1++;}
      else a0++;
  }
  for(int j=0,len2=b.size();j<len2;j++){
    if(b[j]=='1'){b1++;}
      else b0++;
  }
  int sum=min(a0,b1)+min(a1,b0);
  cout<<sum;
  return 0;
}

分类: 未分类