摘要: 1. ArrayList 和 Vector 的区别。 这两个类都实现了 List 接口(List 接口继承了 Collection 接口),他们都是有序集合,即存储在这两个集合中的元素的位置都是有顺序的,相当于一种动态的数组,我们以后可以按位置索引号取出某个元素,并且其中的数据是允许重复的,这是Ha 阅读全文
posted @ 2022-03-10 09:15 随遇而安== 阅读(26) 评论(0) 推荐(0) 编辑
摘要: /*给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; 阅读全文
posted @ 2022-03-10 09:04 随遇而安== 阅读(33) 评论(0) 推荐(0) 编辑
摘要: /*假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 标签:动态规划 本问题其实常规解法可以分成多个子问题,爬第n阶楼梯的方法数量,等于 2 部分之和 爬上 n-1n−1 阶楼梯的方法数量。因为再爬1阶就能到第n阶 爬上 n-2n 阅读全文
posted @ 2022-03-10 09:02 随遇而安== 阅读(22) 评论(0) 推荐(0) 编辑
摘要: /*给你一个非负整数 x ,计算并返回 x 的 算术平方根 。 由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。 思路: 注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 从题目的要求和示例我们可以看出,这其实是一个查找整数的问题,并且这 阅读全文
posted @ 2022-03-10 08:59 随遇而安== 阅读(33) 评论(0) 推荐(0) 编辑
摘要: /*给你两个二进制字符串,返回它们的和(用二进制表示)。 输入为 非空 字符串且只包含数字 1 和 0。 思路 整体思路是将两个字符串较短的用 00 补齐,使得两个字符串长度一致,然后从末尾进行遍历计算,得到最终结果。 本题解中大致思路与上述一致,但由于字符串操作原因,不确定最后的结果是否会多出一位 阅读全文
posted @ 2022-03-10 08:55 随遇而安== 阅读(34) 评论(0) 推荐(0) 编辑
摘要: /*给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 思路 标签:数组遍历 这道题需要整理出来有哪几种情况,在进行处理会更舒服 末位无进位,则末位加一即可,因 阅读全文
posted @ 2022-03-10 08:53 随遇而安== 阅读(14) 评论(0) 推荐(0) 编辑
摘要: /*给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 思路 标签:字符串遍历 从字符串末尾开始向前遍历,其中主要有两种情况 第一种情况,以字符串"Hello World"为例,从后向前遍历 阅读全文
posted @ 2022-03-10 08:50 随遇而安== 阅读(22) 评论(0) 推荐(0) 编辑
摘要: /*给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 思路 这道题用动态规划的思路并不难解决,比较难的是后文提出的用分治法求解,但由于其不是最优解法,所以先不列出来 动态规划的是首先对数组进行遍历,当前最大连 阅读全文
posted @ 2022-03-10 08:46 随遇而安== 阅读(20) 评论(0) 推荐(0) 编辑
摘要: /*给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 解题思路 标签:二分查找 如果该题目暴力解决的话需要 O(n)O(n) 的时间复杂度,但是如果二分的话则可以降低到 O(l 阅读全文
posted @ 2022-03-10 08:32 随遇而安== 阅读(12) 评论(0) 推荐(0) 编辑