zoukankan      html  css  js  c++  java
  • leetcode数组篇

    数组:

    1.删除数组中的某个值:

    int removeElement(vector<int>& nums, int val)

    {

    for(int j=nums.size()-1;j>=0;j--)

    {

    if(nums[j]==value)

    {

    nums.erase(nums.begin()+j);

    }

    return nums.size();

    }

    }

    2.合并有序的数组:

    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n)

    {

    nums1.resize(nums1.size()+nums2.size());

    int p1=m-1;

    int p2=n-1;

    while(int i=m+n-1;i>=0;i--)

    {

    if(p1<0)

    {

    nums1[i]=nums[p2--]

    }

    if(p2<0)

    {

    nums1[i]=nums[p1--]

    }

    if(nums1[p1]>nums2[p2])

     nums1[i]=nums1[p1--];

    else

      nums1[i]=nums1[p2--];

    }

    }

    3.数字加1;

    注意判断最高位;

    4.出现次数最多的数字

    5.旋转数组:

    void reverse(vector<int>&nums,int k)

    {

    int n=nums.size();

    k=k%n;

    reverse(nums.begin(),nums.begin()+(n-k));

    reverse(nums.begin()+(n-k),nums.end());

    reverse(nums.begin(),nums.end());

    }

    5.给定一个排好序的数组,删除数组中的重复数字:

    从尾往前删除;

    6.找到数组相差k距离相等的数:

    bool containsNearbyDuplicate(vector<int>& nums, int k) 

    {

    map<int ,int > intmap;

    map<int ,int >::iterator iter;

    for(int i=0;i<i<nums.size(); i++)

    {

    if(iter=intmap.find(nums[i])!=intmap.end())

    {

    if(i-iter->second<k)

    {

    return true;

    }

    else

    {

    intmap.erase(iter);

    }

    intmap.insert(pair<int ,int>(nums[i],i));

    }

    }

    return false;

    }

    7.从数组中查找两个数使其和等于某个特定值;

     vector<int> twoSum(vector<int>& nums, int target)

    {

    vector<int>Vindiec;

    int p1=0;

    int p2=nums.size();

    while(p1!=p2)

    {

    if(nums[p1]+nums[p2]==target)

    Vindiec.push_back(i);
    Vindiec.push_back(j);

    else if(nums[p1]+nums[p2]<target)

    {

    p1++;

    }

    else

    p2--;

    }

    return  Vindiec;

    }

    8.删除数组中的零元素

    9.

  • 相关阅读:
    childNodes.length和form.length的不同
    外部样式表声明的样式并不会进入style对象
    js之insertBefore(newElement,oldElement)
    文字不换行,超出部分显示成省略号
    animation和transition做动画的区别
    html中隐藏一个元素的方法
    css常见属性和属性值
    css选择器的优先级
    frameset怎么框架内部跳转
    form表单标签及属性的介绍
  • 原文地址:https://www.cnblogs.com/mmziscoming/p/5774169.html
Copyright © 2011-2022 走看看