
面试
明天会更好11
好好学习,好好记录,加油
展开
-
JZ52 两个链表的第一个公共结点
描述输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的)import java.util.*;/*public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution .原创 2022-04-06 18:44:48 · 1110 阅读 · 0 评论 -
JZ20 表示数值的字符串
**描述请实现一个函数用来判断字符串str是否表示数值(包括科学计数法的数字,小数和整数)。**例如,字符串[“+100”,“5e2”,“-123”,“3.1416”,“-1E-16”]都表示数值。但是[“12e”,“1a3.14”,“1.2.3”,“±5”,“12e+4.3”]都不是数值。提示:1.1 <= str.length <= 252.str 仅含英文字母(大写和小写),数字(0-9),加号 ‘+’ ,减号 ‘-’ ,空格 ’ ’ 或者点 ‘.’ 。3.如果怀疑用例是.原创 2022-04-06 17:01:31 · 945 阅读 · 0 评论 -
JZ18 删除链表的节点
描述给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。1.此题对比原题有改动2.题目保证链表中节点的值互不相同3.该题只会输出返回的链表和结果做对比,所以若使用 C 或 C++ 语言,你不需要 free 或 delete 被删除的节点数据范围:0<=链表节点值<=100000<=链表长度<=10000import java.util.*;/* * public class ListNode { * int v.原创 2022-04-06 15:35:46 · 764 阅读 · 0 评论 -
JZ71 跳台阶扩展问题
描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶(n为正整数)总共有多少种跳法。数据范围:1 \le n \le 201≤n≤20进阶:空间复杂度 O(1)O(1) , 时间复杂度 O(1)O(1)public class Solution { public int jumpFloorII(int target) { //斐波那契数列变形 /*设f[i] 表示当前跳道第 i 个台阶的方法数。-->f(.原创 2022-04-06 14:31:02 · 139 阅读 · 0 评论 -
JZ69 跳台阶
> 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个 n 级的台阶总共有多少种跳法(先后次序不同算不同的结果)。数据范围:1 \leq n \leq 401≤n≤40要求:时间复杂度:O(n)O(n) ,空间复杂度: O(1)O(1)这里是引用public class Solution { public int jumpFloor(int target) { //斐波那契数列变形 //f(n) = f(n - 1) + f(n - 2)原创 2022-04-06 01:28:26 · 206 阅读 · 0 评论 -
JZ85 连续子数组的最大和(二)
题目:描述输入一个长度为n的整型数组array,数组中的一个或连续多个整数组成一个子数组,找到一个具有最大和的连续子数组。1.子数组是连续的,比如[1,3,5,7,9]的子数组有[1,3],[3,5,7]等等,但是[1,3,7]不是子数组2.如果存在多个最大和的连续子数组,那么返回其中长度最长的,该题数据保证这个最长的只存在一个3.该题定义的子数组的最小长度为1,不存在为空的子数组,即不存在[]是某个数组的子数组4.返回的数组不计入空间复杂度计算数据范围:1<=n<=10^51原创 2022-04-06 01:12:09 · 940 阅读 · 0 评论 -
JZ42 连续子数组的最大和
题目输入一个长度为n的整型数组array,数组中的一个或连续多个整数组成一个子数组,子数组最小长度为1。求所有子数组的和的最大值。数据范围:1 <= n <= 2\times10^51<=n<=2×105-100 <= a[i] <= 100−100<=a[i]<=100要求:时间复杂度为 O(n)O(n),空间复杂度为 O(n)O(n)进阶:时间复杂度为 O(n)O(n),空间复杂度为 O(1)O(1)解法一:动态规划基本思路:设原创 2022-04-02 13:37:32 · 289 阅读 · 0 评论 -
this与super区别和联系
this一般情况指的是自己对象,super指的是父类(1)属性的区别:this访问本类中的属性,如果本类没有此属性则从父类中继续查找。super访问父类中的属性。一般情况下子类与父类的属性名不要相同。(2)方法的区别:this访问本类中的方法,如果本类没有此方法则从父类中继续查找。super访问父类中的方法。(3)构造的区别:this调用本类构造,必须放在构造方法的首行。super调用父类构造,必须放在子类构造方法首行。(4)其他区别:this表示当前对象。super不能表示当前对象原创 2022-03-24 23:31:49 · 432 阅读 · 0 评论 -
JZ14 剪绳子
题目给你一根长度为 n 的绳子,请把绳子剪成整数长的 m 段( m 、 n 都是整数, n > 1 并且 m > 1 , m <= n ),每段绳子的长度记为 k[1],…,k[m] 。请问 k[1]k[2]…*k[m] 可能的最大乘积是多少?例如,当绳子的长度是 8 时,我们把它剪成长度分别为 2、3、3 的三段,此时得到的最大乘积是 18 。数据范围: 2 \le n \le 602≤n≤60进阶:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n)输入描述:输入一原创 2022-03-24 17:57:05 · 112 阅读 · 0 评论 -
JZ15 二进制中1的个数
题目输入一个整数 n ,输出该数32位二进制表示中1的个数。其中负数用补码表示。数据范围:- 2^{31} <= n <= 2^{31}-1−231<=n<=231−1即范围为:-2147483648<= n <= 2147483647−2147483648<=n<=2147483647解法一public class Solution { public int NumberOf1(int n) { int ans =原创 2022-03-24 17:19:59 · 115 阅读 · 0 评论 -
switch语句参数
表达式的类型必须是byte、short、int或者char;case语句中指定的每个值必须具有与表达式兼容的类型。注意:从Java 7开始,表达式中也支持String。原创 2022-03-24 08:35:32 · 179 阅读 · 0 评论 -
JZ12 矩阵中的路径
题目请设计一个函数,用来判断在一个n乘m的矩阵中是否存在一条包含某长度为len的字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 矩阵中包含一条字符串"bcced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中的第一行第二个格子之后,路径不能再次进入该格子。数据范围:0 \le n,m \le 20\0≤n,m≤20 ,1\le len原创 2022-03-24 02:45:11 · 166 阅读 · 0 评论 -
力扣1:两数之和
题目:给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。解法一:Hash表法基本思路:1、设置一个Hash表(nums[i]为键,i为值)2、循环从数组中取值,并且判断target - nums[i]是否在HashMap中,如果在的话,已经找到了。没在的话,就将这个值加入HashMap中原创 2022-03-23 01:08:21 · 87 阅读 · 0 评论 -
剑指 Offer 10- II. 青蛙跳台阶问题
题目分析**设跳上 n 级台阶有 f(n) 种跳法。在所有跳法中,青蛙的最后一步只有两种情况: 跳上 1 级或 2 级台阶。当为 1 级台阶: 剩 n−1 个台阶,此情况共有 f(n−1) 种跳法;当为 2 级台阶: 剩 n−2 个台阶,此情况共有f(n−2) 种跳法。f(n) 为以上两种情况之和,即f(n)=f(n-1)+f(n-2) ,以上递推性质为斐波那契数列。本题可转化为 求斐波那契数列第 n项的值 ,与 面试题10- I. 斐波那契数列 等价,唯一的不同在于起始数字不同。青蛙原创 2022-03-22 17:06:15 · 244 阅读 · 0 评论 -
剑指offer10 斐波那契数列
描述大家都知道斐波那契数列,现在要求输入一个正整数 n ,请你输出斐波那契数列的第 n 项。斐波那契数列是一个满足 fib(x)=\left{ \begin{array}{rcl} 1 & {x=1,2}\ fib(x-1)+fib(x-2) &{x>2}\ \end{array} \right.fib(x)={1fib(x−1)+fib(x−2)x=1,2x>2 的数列数据范围:1\leq n\leq 401≤n≤40要求:空间复杂度 O(1)O(1)原创 2022-03-22 16:47:49 · 282 阅读 · 0 评论