zoukankan      html  css  js  c++  java
  • 7-3日刷题

    今天搜寒冬的面试杀手题——大草原,发现是以前的机试第四题,这道题跪了让我后悔一生。到现在我唯一知道的是这道题可以用贪心算法骗分。

    http://stackoverflow.com/questions/15882202/minimum-number-of-circles-with-radius-r-to-cover-n-points 

    凭我多年的经验,以后还会遇到这题,如果不解决的话,以后还是会在这上面跪一次。一定要好好学学计算几何的算法。

    Remove Duplicates from Sorted Array II

    这题真是easy级别的吗?我都写的吐血了,最后用极其丑陋的方法解决了。

      public int removeDuplicates(int[] nums) {
            // write your code here
            int sum = 0;
            HashMap<Integer, Integer> mp = new HashMap<>();
            for (int i = 0; i < nums.length; ++i) {
                if (!mp.containsKey(nums[i])) {
                    mp.put(nums[i], 1);
                    sum += 1;
                } else {
                    int num = mp.get(nums[i]);
                    mp.put(nums[i], num + 1);
                    if (num + 1 == 2) {
                        sum += 1;
                    }
                }
            }
            int pos = 0;
            int[] n = new int[sum];
            for (Integer key : mp.keySet()) {
                int num = mp.get(key);
                if (num == 1) {
                    n[pos++] = key;
                } else if (num >= 2) {
                    n[pos++] = key;
                    n[pos++] = key;
                }
            }
            Arrays.sort(n);
            for (int i = 0; i < sum; ++i) {
                nums[i] = n[i];
            }
            return sum;
        }

     前几天是中二了吗?为啥这么水的题都写不出来,看来是Java使用过度了,不用List和Map就不舒服。

        int removeDuplicates(vector<int> &nums) {
            // write your code here
            if (nums.size() == 0) {
                return 0;
            }
            int k = 1, p = 0, ti = 1;
            for (int i = 1; i < nums.size(); ++i) {
                if (nums[i] != nums[i - 1]) {
                    ti = 1;
                    nums[k++] = nums[i];
                } else {
                    ++ti;
                    if (ti <= 2) {
                        nums[k++] = nums[i];
                    }
                }
            }
            return k;
        }
  • 相关阅读:
    web网站开发反面教材
    phpstudy 做的后台长时间运行的脚本,设置了脚本运行时间还是40秒就返回500,用的apache2.4.39
    PHP_EOL
    web文件下载,a标签文件下载,php文件下载
    邮件发送
    网站调用qq第三方登录
    微信Pcweb登录简介
    JqueryOn绑定事件方法介绍
    php+ajax文件上传
    php操作数组函数
  • 原文地址:https://www.cnblogs.com/fripside/p/4618293.html
Copyright © 2011-2022 走看看