0关注
0粉丝
能力说明:
掌握封装、继承和多态设计Java类的方法,能够设计较复杂的Java类结构;能够使用泛型与集合的概念与方法,创建泛型类,使用ArrayList,TreeSet,TreeMap等对象掌握Java I/O原理从控制台读取和写入数据,能够使用BufferedReader,BufferedWriter文件创建输出、输入对象。
暂时未有相关云产品技术能力~
暂无个人介绍
ArrayList
红黑树概述
输入流--outputStream
输入流--InputStream
找工作的时候经常会被问道Spring中Bean的[生命周期](https://so.csdn.net/so/search?q=%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F&spm=1001.2101.3001.7020),其实也就是考察一下对Spring是否熟悉,工作中很少用到其中的内容,那我们简单看一下。
div文字居中
解决layui弹出层点击多次弹出问题
Div并排显示
刷题
刷题
什么是自动装配
刷题
刷题记录
111
11
1
刷题记录
刷题记录
111111111
云服务器ECS(Elastic Compute Service)是服务器供应商(例如:阿里云、腾讯云、华为云)提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。云服务器ECS免去了您采购IT硬件的前期准备,让您像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。云服务器ECS持续提供创新型服务器,解决多种业务需求,助力您的业务发展。
给定一个整数数组和一个整数 k,你需要在数组里找到 不同的 k-diff 数对,并返回不同的 k-diff 数对 的数目。 这里将 k-diff 数对定义为一个整数对 (nums[i], nums[j]),并满足下述全部条件: 0 <= i < j < nums.length |nums[i] - nums[j]| == k 注意,|val| 表示 val 的绝对值。
给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义:h 代表“高引用次数”,一名科研人员的 h指数是指他(她)的 (n 篇论文中)总共有 h 篇论文分别被引用了至少 h 次。且其余的 n - h 篇论文每篇被引用次数 不超过 h 次。 如果 h 有多种可能的值,h 指数 是其中最大的那个。
现有一份 n + m 次投掷单个 六面 骰子的观测数据,骰子的每个面从 1 到 6 编号。观测数据中缺失了 n 份,你手上只拿到剩余 m 次投掷的数据。幸好你有之前计算过的这 n + m 次投掷数据的 平均值 。 给你一个长度为 m 的整数数组 rolls ,其中 rolls[i] 是第 i 次观测的值。同时给你两个整数 mean 和 n 。 返回一个长度为 n 的数组,包含所有缺失的观测数据,且满足这 n + m 次投掷的 平均值 是 mean 。如果存在多组符合要求的答案,只需要返回其中任意一组即可。如果不存在答案,返回一个空数组。 k 个数字的 平均值 为这些数字求和后再除以 k 。
你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。 比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表 ops,其中 ops[i] 是你需要记录的第 i 项操作,ops 遵循下述规则:
一、题目描述: 泰波那契序列 Tn 定义如下: T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的条件下 Tn+3 = Tn + Tn+1 + Tn+2 给你整数 n,请返回第 n 个泰波那契数 Tn 的值。 示例 1: 输入:n = 4 输出:4 解释: T_3 = 0 + 1 + 1 = 2 T_4 = 1 + 1 + 2 = 4 示例 2: 输入:n = 25 输出:1389537 提示: 0 <= n <= 37 答案保证是一个 32 位整数,即 answer <= 2^31 - 1。 来源:力扣(LeetCode) 链接:leetcode-cn.com/
斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) = 0,F(1) = 1 F(n) = F(n - 1) + F(n - 2),其中 n > 1 给定 n ,请计算 F(n) 。 示例 1: 输入:n = 2 输出:1 解释:F(2) = F(1) + F(0) = 1 + 0 = 1 示例 2: 输入:n = 3 输出:2 解释:F(3) = F(2) + F(1) = 1 + 1 = 2 示例 3: 输入:n = 4 输出:3 解释:F(4) = F(3) + F(2) = 2
请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。 在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在 示例 2 中,输入表示有符号整数 -3,输出表示有符号整数 -1073741825。
编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量)。
给你一个整数 n,请你判断该整数是否是 2 的幂次方。如果是,返回 true ;否则,返回 false 。 如果存在一个整数 x 使得 n == 2x ,则认为 n 是 2 的幂次方。
给定一个三角形 triangle ,找出自顶向下的最小路径和。 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。
一、题目描述: 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n = 2 输出:2 解释:有两种方法可以爬到楼顶。 1 阶 + 1 阶 2 阶 示例 2: 输入:n = 3 输出:3 解释:有三种方法可以爬到楼顶。 1 阶 + 1 阶 + 1 阶 1 阶 + 2 阶 2 阶 + 1 阶
给定一个字符串 s ,通过将字符串 s 中的每个字母转变大小写,我们可以获得一个新的字符串。 返回 所有可能得到的字符串集合 。以 任意顺序 返回输出。 示例 1: 输入:s = "a1b2" 输出:["a1b2", "a1B2", "A1b2", "A1B2"] 示例 2: 输入: s = "3z4" 输出: ["3z4","3Z4"] 提示: 1 <= s.length <= 12 s 由小写英文字母、大写英文字母和数字组成
给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums = [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]] 示例 2: 输入:nums = [0,1] 输出:[[0,1],[1,0]] 示例 3: 输入:nums = [1] 输出:[[1]]
本题这是回溯法的经典题目。直接的解法当然是使用for循环,思路简单但效率相对没有优势,可以使用回溯搜索法,具体步骤如下 定义成全局变量便不必再当作参数传入函数 剪枝,判断当前长度和数组剩余长度能否构成一个k个数的组合 for 循环里 i 从 start 到 n。 比如,n = 5,k = 4,temp.size( ) == 1,此时代表我们还需要(4 - 1 = 3)个数字, 如果 i = 4 的话,以后最多把 4 和 5 加入到 temp 中,而此时 temp.size() 才等于 1 + 2 = 3, 不够 4 个,所以 i 没必要等于 4,i 循环到 3 就足够了。
给定一个由 0 和 1 组成的矩阵 mat ,请输出一个大小相同的矩阵,其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。
目思路还是比较清晰易懂的,主要考察的知识点是链表操作相关,此题使用是递归函数,递归的关键在于反向工作 解题步骤如下: 从头节点一直递归到链表的最后一个结点,该结点就是反转后的头结点。 之后,每次函数在返回的过程中,让当前结点的下一个结点的 next 指针指向当前节点。 同时让当前结点的 next指针指向 NULL ,从而实现从链表尾部开始的局部反转 当递归函数全部出栈后,链表反转完成。
给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。 初始状态下,所有 next 指针都被设置为 NULL。
给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。
给你一个大小为 m x n 的二进制矩阵 grid 。 岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。
如果没有备份和恢复,当私钥丢失时,将导致公钥加密的数据无法解密为了解决私钥的备份和恢复问题,PKI引入了KMC,用于对私钥的全部生命周期进行管理,用户的公私钥由自己产生,在向CA中心申请数字证书时,将私钥安全提交给KMC留作备份
本题要求将给定的二维数组中指定的「色块」染成另一种颜色。「色块」的定义是:直接或间接相邻的同色方格构成的整体。 总结的说就是给出一个二维数组和坐标,将这个坐标的值修改为新的值,并且如果与其挨着的点的值与给出的坐标的值一样的话那么也要将其修改为新的值。 思路如下:采用广度优先方法遍历
二、思路分析: 判断 s2 中判断是否包含 s1 的排列, 而子串必须是连续的,所以要求的 s2 子串的长度跟 s1 长度必须相等。。这道题主要用到思路是:滑动窗口. 创建两个数组, 数组一存放字符串一中各字母的个数,数组二存放字符串2中各字母的个数; 开始时,先将两数组中前n个(n是字符串1的长度)字符数目,加入到两个数组中,判断是否相等; 若不包含子串排列,则窗口右移一格,数组2中的字母个数随之变化; 初始化取得第一个滑动窗口的目标值 继续滑动窗口,每往前滑动一次,需要删除一个和添加一个元素
定义一个 map 数据结构存储,用Hashmap来判断字符串中字符是否重复,其中 key 值为字符,value 值为字符位置 +1,加 1 表示从字符位置后一个才开始不重复 设head 为区间左端点下标,i为区间右端点下标, 维护一个左边界 head ,保证滑动窗口 [head , i] 区间无重复字符,如果下一个字符 ch 的位置在滑动窗口 [head, i] 区间,则记录这个 i - head ,同时更新 head 为 ch 在现有滑动窗口 [head, i] 的位置。
首先从头节点开始对链表进行一次遍历,获取到链表的长度l,然后得到要删除的节点的位置l -n +1,删除到该位置的元素就可以了.但要分情况讨论,若删除的元素是第一个节点,那么直接head = head.next即可;若为非头节点,那么就正常删除即可。
思路如下: 先遍历一次,计算链表的长度,判断链表长度是奇数还是偶数,然后计算中间节点的下标值,偶数结点的时候,得到的是中间的第二个结点,然后再遍历一次,在链表头节点遍历N/2次就得到了链表的中间节点。
根据题目分析, 使用额外的空间,将字符串放入数组中,遍历原有字符串,根据空格把字符串拆分成多个单词的字符串,我们只关心空格字符和最后一个字符,于是,遇到正常的字母字符一概不管;当找到空格时就找到了一个单词, 并将单词的字符串进行反转,然后继续找到下一个单词,最后 将反转的单词字符串拼接起来就是最终答案。
需要反转数组,且不允许生成新的数组,使用双指针的方法。思路如下: 初始指针 left ,right 分别向字符串的开始和末尾,指针每次各移动一次,使左右指针慢慢靠近,每次交换左右指针指向的元素。循环结束情况如下:
这题其实还挺简单的,双循环的暴力解法谁都能想到,上面只写了一种解法,还有许多其他的方法,但是想到的还是上面这种方法,也没有很麻烦。想看看其他思路可以去题目的题解和评论区看看其他大佬的解法,了解下思路也好
首先初始化2个指针left = 0 ,right =0 ,循环至right到数组最后一位,当right指针指向元素不为0时,交互left和right元素,并将left和right向右移动一位,当right指向零时,将右指针移动一位,left不变,直到循环结束。
你好,我是AI助理
可以解答问题、推荐解决方案等