怎样用jsp做网站 新手教程,公司网络安全管理制度和应急工作预案,贵州建设厅网站八大员报名入口,网站建设商家公司创作不易#xff0c;本篇文章如果帮助到了你#xff0c;还请点赞 关注支持一下♡#x16966;)!! 主页专栏有更多知识#xff0c;如有疑问欢迎大家指正讨论#xff0c;共同进步#xff01; 更多算法知识专栏#xff1a;算法分析#x1f525; 给大家跳段街舞感谢… 创作不易本篇文章如果帮助到了你还请点赞 关注支持一下♡)!! 主页专栏有更多知识如有疑问欢迎大家指正讨论共同进步 更多算法知识专栏算法分析 给大家跳段街舞感谢支持ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ LeetCode题解专栏【LeetCode刷题笔记】 目录 题目链接一、题目描述二、示例三、题目分析方法一 四、代码实现C方法二 题目链接
LeetCode 1365.有多少小于当前数字的数字
一、题目描述
给你一个数组 nums对于其中每个元素 nums[i]请你统计数组中比它小的所有数字的数目。 换而言之对于每个 nums[i] 你必须计算出有效的 j 的数量其中 j 满足 j ! i 且 nums[j] nums[i] 。 以数组形式返回答案。
二、示例
示例 1 输入nums [8,1,2,2,3]输出[4,0,1,1,3]解释 对于 nums[0]8 存在四个比它小的数字122 和 3。 对于 nums[1]1 不存在比它小的数字。对于 nums[2]2 存在一个比它小的数字1。 对于 nums[3]2 存在一个比它小的数字1。 对于 nums[4]3 存在三个比它小的数字12 和 2。 示例 2 输入nums [6,5,4,8]输出[2,1,0,3] 示例 3 输入nums [7,7,7,7]输出[0,0,0,0] 三、题目分析
方法一
对原数组进行排序后每个元素的下标即为 有多少小于当前数字的数字
使用数组从右到左(元素相同左边的下标为结果)存储每个元素对应下标返回结果。
四、代码实现C
class Solution {
public:
//sort hashvectorint smallerNumbersThanCurrent(vectorint nums) {vectorint nums2 nums;sort(nums2.begin(),nums2.end());int hash[101];for(int inums2.size()-1;i0;i--){hash[nums2[i]] i;}vectorint res(nums.size(),0);for(int i0;ires.size();i){res[i] hash[nums[i]];}return res;}
};方法二
计数排序 将数组从大到小进行计数排序小于当前数字的个数即为小于该数字的所有出现次数之和 代码实现C
class Solution {
public:
//计数排序vectorint smallerNumbersThanCurrent(vectorint nums) {int cnt[101] {0};for(int i0;inums.size();i){cnt[nums[i]];}for(int i1;i100;i){cnt[i] cnt[i-1];}vectorint res(nums.size(),0);for(int i0;ires.size();i){if(nums[i] 0){res[i] 0;}else{res[i] cnt[nums[i]-1];}}return res;}
};大家的点赞、收藏、关注将是我更新的最大动力 欢迎留言或私信建议或问题。
大家的支持和反馈对我来说意义重大我会继续不断努力提供有价值的内容
如果本文哪里有错误的地方还请大家多多指出(●◡●)