摘要: 给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。 示例 1: 输入:nums1 = [1,2,2,1], nums2 = [2,2] 输 阅读全文
posted @ 2023-03-29 22:36 码农界的小田 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 构造函数需要private访问权限,这样避免外部通过new创建实例; 考虑对象创建时的线程安全问题 考虑是否支持延迟加载 考虑getInstance性能是否高(是否加锁) 1、饿汉式: 点击查看代码 package com.tjl; import java.util.concurrent.atomi 阅读全文
posted @ 2023-03-28 23:27 码农界的小田 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。 示例 1 : 输入:nums = [2,2,1] 输出:1 示例 2 : 输入:nums = [4, 阅读全文
posted @ 2023-03-28 23:10 码农界的小田 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。 示例一: 输入: nums=[1,2,3,1] 输出: true 示例二: 输入: nums=[1,2,3,4] 输出: false 示例三: 输入: nums=[1 阅读全文
posted @ 2023-03-28 22:51 码农界的小田 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 单例设计模式 (Singleton Design Pattern) 理解起来非常简单.一个类只允许创建一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式.简称单例模式. 实战案例一: 处理资源访问冲突 一个例子,自定义实现了一个往文件中打印日志的Logger类.具体实现代码 阅读全文
posted @ 2023-03-27 23:31 码农界的小田 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例一: 输入: nums = [1,2,3,4,5,6,7], k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2 阅读全文
posted @ 2023-03-27 22:56 码农界的小田 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 2、给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候最多只能持有一股股票。你也可以先购买,然后在同一天出售。 返回你能获得的最大利润 。 示例一: 输入:prices = [7,1,5,3,6,4] 阅读全文
posted @ 2023-03-25 22:31 码农界的小田 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。 由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 阅读全文
posted @ 2023-03-25 21:57 码农界的小田 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 什么是抽象类和接口?区别在哪里? 下面代码是一个比较典型的抽象类的使用场景(模板设计模式). Logger是一个记录日志的抽象类,FileLogger和MessageQueueLogger继承Logger,分别实现两种不同的日志记录方式:记录日志到文件中和记录日志到消息队列中.FileLogger和 阅读全文
posted @ 2023-03-25 10:13 码农界的小田 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 关于封装特性 封装也叫作信息隐藏或者数据访问保护.类通过暴露有限的访问接口,受权外部仅能通过类提供的方式来访问内部信息或者数据.它需要编程语言提供权限访问控制语法来支持,例如Java中的private、protected、public关键字. 封装特性存在的意义:一方面是保护数据不被随意修改,提高代 阅读全文
posted @ 2023-03-25 09:16 码农界的小田 阅读(20) 评论(0) 推荐(0) 编辑