首页 > 其他分享 >力扣——《数据结构·入门篇》刷题笔记

力扣——《数据结构·入门篇》刷题笔记

时间:2023-02-23 21:14:20浏览次数:42  
标签:false HashMap HashSet 元素 力扣 入门篇 数组 true 刷题

第一天 - 数组

  1️⃣存在重复元素

  题目:给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。

  思路:本题需要在数组中判断是否存在不同元素,使用Java语言编写时,容易想到使用HashSet来帮助解决

  概念

    • HashSet类,是存在于java.util包中的类
    • 同时也被称为集合,该容器中只能存储不重复的对象。对于 HashSet 而言,它是基于 HashMap 实现的,底层采用 HashMap 来保存元素。
    • 该方法如果添加的是在 HashSet 中不存在的,则返回 true;如果添加的元素已经存在,返回 false。其原因在于我们之前提到的关于 HashMap 的 put 方法

  题解:

class Solution {
    public boolean containsDuplicate(int[] nums) {
        Set<Integer> set = new HashSet<Integer>();
        
	    for(Integer i : nums){
	        if(!set.add(i)) {
	            return true;
	        }
	    }
	         
	    return false;
    }
}

另解:将数组排序后,逐一比较相邻元素是否相同,但该算法效率低

 

标签:false,HashMap,HashSet,元素,力扣,入门篇,数组,true,刷题
From: https://www.cnblogs.com/fengdeyuangu/p/17149405.html

相关文章

  • 算法刷题 Day 53 | ● 1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序
    1143.最长公共子序列体会一下本题和718.最长重复子数组的区别视频讲解:https://www.bilibili.com/video/BV1ye4y1L7CQhttps://programmercarl.com/1143.%E6%9C%8......
  • 2023/02/22刷题
    B.BeforeanExam链接B.BeforeanExam这个题使用贪心的方法先将总时间按每个时间点最小的分配如果不够就打印no如果够了就从第一个时间点分配到最大值,直到sum为0,这......
  • 力扣746 使用最小花费爬楼梯
    题目:给你一个整数数组cost,其中cost[i]是从楼梯第i个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。你可以选择从下标为0或下标......
  • 1 Pytest测试框架入门篇
    1pytest简介pytest是一个非常成熟的python的单元框架,比unittest更灵活,容易上手pytest可以和selenium,requests,appium结合实现web自动化,接口自动化,app自动化pytest......
  • 算法刷题 Day 50 | ● 123.买卖股票的最佳时机III ● 188.买卖股票的最佳时机IV
    123.买卖股票的最佳时机III这道题一下子就难度上来了,关键在于至多买卖两次,这意味着可以买卖一次,可以买卖两次,也可以不买卖。视频讲解:https://www.bilibili.com/vide......
  • 算法刷题 Day 49 | ● 121. 买卖股票的最佳时机 ● 122.买卖股票的最佳时机II
    股票问题是一个动态规划的系列问题,今日安排的题目不多,大家可以慢慢消化。121.买卖股票的最佳时机视频讲解:https://www.bilibili.com/video/BV1Xe4y1u77qhttps://progr......
  • 【力扣】:N字型
    1classSolution{2publicStringconvert(Strings,intnumRows){3StringresultS="";//待返回的字符串4intlen......
  • 力扣days02 链表
    力扣203.移除链表元素力扣707.设计链表已经覆盖了链表的常见操作,是练习链表操作非常好的一道题目;力扣206.反转链表再定义一个新的链表,实现链表元素的反转,是......
  • 力扣239
    力扣239.滑动窗口最大值问题题目描述给定一个数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口......
  • 2023/02/21刷题
    A.k-String链接A.k-String我们先统计全部字母的数量,然后根据k的值来确定k次重复的每次字母的数量,之后生成字符串#include<iostream>#include<algorithm>#inclu......