• leetcode-4-basic


    解题思路:这道题比较简单,代码不贴了。需要注意的是:

    数字与字符串之间的转换,

    char str[100];
    sprintf(str, "%d", num);

    解题思路:

    这道题是LeetCode Weekly Contest 22里最简单的那道。。。今天算是试手吧,下周再好好做。

    我的思路是先对数组排序,然后从头开始找,比较nums[i]+k与nums[j]的大小,找到了就插入到map<int,int>中。因为key具有唯一性,所以

    能够避免重复的情况。不过我把选择排序写错了,所以一直WA。。。几种排序要复习下,稍后整理。

    int findPairs(vector<int>& nums, int k) {
            int i,j;
            int temp,t;
            int size = nums.size();
            for (i = 0; i < size-1; i++) {
                temp = i;
                for (j = i+1; j < size; j++) {
                    if (nums[temp] > nums[j])
                        temp = j;
                }
                if (temp != i) {
                    t = nums[temp];
                    nums[temp] = nums[i];
                    nums[i] = t;
                }
            }
            map<int,int> result;
            for (i = 0 ; i < size; i++) {
                for (j = i+1; j < size; j++) {
                    if (nums[i] + k == nums[j]) {
                        result.insert(result.end(),make_pair(nums[i],nums[j]));
                        break;
                    } else if (nums[i] + k > nums[j])
                               continue;
                    else
                        break;
                }
            }
            return result.size();
        }
    

      

  • 相关阅读:
    装饰器实例
    生成器、迭代器脚本实例
    魔法方法和属性
    随机生成验证码
    认证客户端的链接合法性
    将socket通信实现多进程
    线程锁模拟抢票系统
    ntp时间服务器
    蛇形串---------
    两年内计划
  • 原文地址:https://www.cnblogs.com/pxy7896/p/6505661.html
Copyright © 2020-2023  润新知