当前位置: 首页 > news >正文

浙江企业网站建设wordpress 小米社区

浙江企业网站建设,wordpress 小米社区,PHP MYSQL网站开发全程实,公司模块网站制作文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 哈希表 二【题目难度】 简单 三【题目编号】 219.存在重复元素II 四【题目描述】 给你一个…

文章目录

  • 一【题目类别】
  • 二【题目难度】
  • 三【题目编号】
  • 四【题目描述】
  • 五【题目示例】
  • 六【题目提示】
  • 七【解题思路】
  • 八【时间频度】
  • 九【代码实现】
  • 十【提交结果】

一【题目类别】

  • 哈希表

二【题目难度】

  • 简单

三【题目编号】

  • 219.存在重复元素II

四【题目描述】

  • 给你一个整数数组 nums 和一个整数 k ,判断数组中是否存在两个 不同的索引 i 和 j ,满足 nums[i] == nums[j] 且 abs(i - j) <= k 。如果存在,返回 true ;否则,返回 false。

五【题目示例】

  • 示例 1:

    • 输入:nums = [1,2,3,1], k = 3
    • 输出:true
  • 示例 2:

    • 输入:nums = [1,0,1,1], k = 1
    • 输出:true
  • 示例 3:

    • 输入:nums = [1,2,3,1,2,3], k = 2
    • 输出:false

六【题目提示】

  • 1 < = n u m s . l e n g t h < = 1 0 5 1 <= nums.length <= 10^5 1<=nums.length<=105
  • − 1 0 9 < = n u m s [ i ] < = 1 0 9 -10^9 <= nums[i] <= 10^9 109<=nums[i]<=109
  • 0 < = k < = 1 0 5 0 <= k <= 10^5 0<=k<=105

七【解题思路】

  • 本题首先想到的思路就是暴力解法,但是这种解法会超时,所以我们想到了哈希表
  • 将元素入哈希表,当前元素值为哈希表的key,索引下标为val,如果再次遇到了相同的元素,我们就取出之前存入的val,求其差值,如果差值小于等于k,那么就返回true
  • 如果遍历整个数组都没有想要的结果,那么就返回false
  • 其实本题本质上是维护一个最近的索引下标

八【时间频度】

  • 时间复杂度: O ( n ) O(n) O(n) n n n为传入的数组的长度
  • 空间复杂度: O ( n ) O(n) O(n) n n n为传入的数组的长度

九【代码实现】

  1. Java语言版
class Solution {public boolean containsNearbyDuplicate(int[] nums, int k) {HashMap<Integer, Integer> map = new HashMap<>();for(int i = 0;i < nums.length;i++){if(map.containsKey(nums[i])){if(Math.abs(map.get(nums[i]) - i) <= k){return true;}}map.put(nums[i], i);}return false;}
}
  1. C语言版
struct HashEntry
{int key;int val;UT_hash_handle hh;
};void hashAddItem(struct HashEntry **obj, int key, int val)
{struct HashEntry* pEntry = (struct HashEntry*)malloc(sizeof(struct HashEntry));pEntry->key = key;pEntry->val = val;HASH_ADD_INT(*obj, key, pEntry);
}struct HashEntry* hashFindItem(const struct HashEntry** obj, int key)
{struct HashEntry* pEntry = NULL;HASH_FIND_INT(*obj, &key, pEntry);return pEntry;
}void hashFreeAll(struct HashEntry** obj)
{struct HashEntry *curr, *next;HASH_ITER(hh, *obj, curr, next){HASH_DEL(*obj, curr);free(curr);}
}bool containsNearbyDuplicate(int* nums, int numsSize, int k)
{struct HashEntry* map = NULL;for(int i = 0;i < numsSize;i++){if(hashFindItem(&map, nums[i]) != NULL){if(i - hashFindItem(&map, nums[i])->val <= k){hashFreeAll(&map);return true;}}hashAddItem(&map, nums[i], i);}hashFreeAll(&map);return false;
}
  1. Python语言版
class Solution:def containsNearbyDuplicate(self, nums: List[int], k: int) -> bool:map = {}for i, num in enumerate(nums):if num in map:if i - map[num] <= k:return Truemap[num] = ireturn False
  1. C++语言版
class Solution {
public:bool containsNearbyDuplicate(vector<int>& nums, int k) {unordered_map<int, int> map;for(int i = 0;i < nums.size();i++){if(map.count(nums[i]) != 0){if(i - map[nums[i]] <= k){return true;}}map[nums[i]] = i;}return false;}
};

十【提交结果】

  1. Java语言版
    在这里插入图片描述

  2. C语言版
    在这里插入图片描述

  3. Python语言版
    在这里插入图片描述

  4. C++语言版
    在这里插入图片描述

http://www.yayakq.cn/news/223320/

相关文章:

  • 做网站游戏需要什么网站icp备案要钱么
  • 学勇建站服装企业官方网站
  • 微信网站开发哪家好个人简历电子版可编辑
  • 铁哥们网站建设ASP个人网站的建设
  • 网站做微信小程序湘潭网站建设磐石网络上班时间
  • 五合一网站建设方案阿里云做网站选什么主机
  • 外国人做的关于中国的视频网站无锡网站建设价格低
  • 网站建设推广新闻泰州网站建设搭建
  • 做洗衣液的企业网站网站上传空间下一步
  • 深圳工厂网站建设公司seo和竞价排名的区别
  • 网站开发 提成建设网站中存在的问题
  • 做自适应网站做网络推广的方法
  • 如何做网站的充值功能济南轻电商网站建设公司
  • 百度网站建设北京找钢网网站建设
  • 网络公司网站源码新手想写小说怎么做网站
  • 邵阳建设银行网站是多少wordpress in排序
  • 搜索引擎推广案例岳阳seo公司
  • 怎样做机械租赁的网站朝阳区互联网公司
  • 二七郑州网站建设行业网站开发公司
  • wordpress搭建站点建设网上银行个人网上银行登录
  • 建筑方案设计流程seo北京网站推广
  • 洛阳市做网站的建设网站火车票预订
  • 成都网站建设福州网站开发常用颜色
  • 站长之家域名公司里面php开发一个网站的流程
  • 怎么做单位网站抚顺市网站建设
  • 南山区网站建设公司cms+wordpress+国内
  • 网站vps无法登陆网站开发 软件
  • 怎么给网站做域名重定向福田公司投诉电话
  • 球场 技术支持 东莞网站建设聊城网站推广的公司
  • 珠海正规网站制作哪家强网站运营存在的问题