zoukankan      html  css  js  c++  java
  • 日常编程练习(一)

    1、二维数组的查找

    问题:在一个二维数组中,每行都从左到右递增顺序,每一列都按从上到下递增,从这个二维数组查找一个数是否存在。

    int find_one(int a[][4],int N,int M,int value)
    {
        int i=M-1;
        int j=0;
        while(1)
        {
            if(a[j][i]==value)
                return value;
            else if(a[j][i]>value)
            {
                i--;
                if(i<0)
                    return 0;
            }
            else if(a[j][i]<value)
            {
                j++;
                if(j>=N)
                    return 0;
            }
        }
    }

    2、字符串替换空格

    问题:将字符串中的空格替换成"%20"

    //重新申请一个字符串
    string swap_empty1(string &str)
    {
        string new_str;
        for(auto &c:str)
        {
            if(c==' ')
                new_str+="%20";
            else
                new_str.push_back(c);
        }
        return new_str;
    }
    //原字符串上修改
    string swap_empty2(string &str)
    {
        int n_count=0;
        for(auto &c:str)
        {
            if(c==' ')
                n_count++;
        }
        int length=str.size();
        int new_length=length+n_count*2;
        str.resize(new_length);
        int i=length-1,j=new_length-1;
    
        while(i)
        {
            if(str[i]==' ')
            {
                j=j-2;
                str[j]='%';
                str[j+1]='2';
                str[j+2]='0';
                i--;
                j--;
            }
            else
            {
                str[j]=str[i];
                j--;i--;
            }
        }
        return str;
    }

    3、两个排序数组A,B,将B的所有数插入到A中且所有数是排序的

    vector<int> add_array(vector<int>arr1,vector<int>arr2)
    {
        int length1=arr1.size();
        int length2=arr2.size();
        int add_length=length1+length2;
        arr1.resize(add_length);
        int i=length1-1,j=length2-1,k=add_length-1;
        while(i!=0)
        {
            if(arr1[i]>arr2[j])
            {
                arr1[k]=arr1[i];
                i--;
                k--;
            }
            else
            {
                arr1[k]=arr2[j];
                j--;
                k--;
                if(j<0)
                    break;
            }
        }
        while(j>=0)
        {
            arr1[k]=arr2[j];
            j--;
            k--;
        }
        return arr1;
    }
  • 相关阅读:
    win10 彻底删除mysql步骤
    IDEA中添加类的创建者信息
    针对标签中设置 disabled="true",$("#id").serialize()获取不到value的解决方法
    使用Vue-cli创建project遇到的坑
    Jmeter压测总结
    Java通过ssh远程连接服务器
    Django 学习笔记(一)
    Python 测试框架基础
    Python 基础&Excel操作
    Appium环境搭建及计算器小实验
  • 原文地址:https://www.cnblogs.com/kiplove/p/6791893.html
Copyright © 2011-2022 走看看