2024.3.20 演算法

writecodechangeworld發表於2024-03-20
  1. 求最大公約數
    0與任何數字的最大公約數都是非0數字。
    int gcd(int lhs,int rhs){//預設lhs>=rhs
    if (rhs==0){
    return lhs;
    }
    return gcd(rhs,lhs%rhs);//輾轉相除
    }
  2. 氣泡排序
    for(int i=0;i<n;++i){
    for(int j=i+1;j<n;++j){
    if(str[i]>str[j]){
    swap(str[i],str[j]);//讓j始終位於i的下一位,看如何冒泡;
    }
    }
    }
    3.去除特定的字元,用for迴圈遍歷整個字串,while迴圈找特定字元,用i記錄位置,找到則str.erase(i,1)

    4.判斷是否迴文,及字串是否對稱
    可以用left=0;right=str.size()-1;
    while(left<right){
    if(str[left]!=str[right]){
    return false;
    }
    left++;
    right--;
    }
    return true;

相關文章