算法练习笔记(四)— 分治算法

    xiaoxiao2021-03-25  57

    作为一个计算机专业的学生

    傅里叶早已成为了我们的熟识

    各式各样的傅里叶凭借其繁复高贵的外观接近我们,又在各种题目算式中出现刁难我们

    如果看了此文你还不懂傅里叶变换,那就过来掐死我吧【完整版】一文给了我很多启发

    课本上生涩难懂的公式以及繁复的算式,最终归结起来,其实都是那些最为简单基础东西的叠加

    傅里叶公式是这样,分治算法是这样,这周所学的快速傅里叶变换也是如此

    难的是人们投入与之等值的时间去理解贯通其中道理

    这周题目挺简单

    简单到我怀疑世界 不想说话

    题目地址:https://leetcode.com/problems/count-of-smaller-numbers-after-self/

    题目:Count of Smaller Numbers After Self

    描述:

    You are given an integer array nums and you have to return a new counts array. The counts array has the property where counts[i] is the number of smaller elements to the right of nums[i].

    Example:

    Given nums = [5, 2, 6, 1] To the right of 5 there are 2 smaller elements (2 and 1). To the right of 2 there is only 1 smaller element (1). To the right of 6 there is 1 smaller element (1). To the right of 1 there is 0 smaller element.

    Return the array [2, 1, 1, 0].

    解答:

    class Solution { public: int Countit(vector<int> & nums, int ind, int size,int key, int count){ if(ind >= size)return count; if(nums[ind] < key) count ++; return Countit(nums, ind + 1, size, key, count); } vector<int> countSmaller(vector<int>& nums) { int size = nums.size(); vector<int> count; for(int i = 0; i < size; i ++){ int c = Countit(nums, i, size, nums[i], 0); count.push_back(c); } return count; } };

    转载请注明原文地址: https://ju.6miu.com/read-36950.html

    最新回复(0)