自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 二叉树的深度

输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。例如:给定二叉树 [1,5,28,null,null,10,7], 1 / \ 528 / \ 10 7返回它的最大深度3 。 public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(...

2022-03-01 12:59:07 213

原创 (剑指offer34)二叉树中和为某一值的路径

给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。叶子节点 是指没有子节点的节点。输入:root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22输出:[[5,4,11,2],[5,8,4,5]]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/er-cha-shu-zhong-he-wei.

2022-03-01 10:56:19 125

原创 删除链表的节点

给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点示例 1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为5的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9. public class ListNode { int val; ListNode next; ListNode(int x) { val = x; } } ..

2022-02-21 13:12:19 209

原创 把数字翻译成字符串

public int NumToString(int num) { String s = num+""; int a = 1, b = 1; for(int i = 2; i <= s.length(); i++) { String tmp = s.substring(i - 2, i); int c = tmp.compareTo("10") >= 0 && tmp.compare.

2022-02-16 20:35:07 237

原创 求礼物的最大值

在一个 m*n 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物 public int maxValue(int[][] grid) { int m=grid.length,n=grid[0].length; for(int i=0;i<m;i++){ f

2022-02-16 16:37:57 309

原创 求翻转二叉树

请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入:4/ \2 7/ \ / \1 3 6 9镜像输出:4/ \7 2/ \ / \9 6 31 public class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { va...

2022-02-12 12:09:25 242

原创 云计算大作业(计算北京城区出租车数量以及车辆位置点数)

工程目录如下package org.example.Bean;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;//如果没有lombok插件的,将下列注释改写成getter,setter,和相应的构造方法@Data@NoArgsConstructor@AllArgsConstructorpublic class DistrictBean {...

2022-02-11 17:43:58 583

原创 重塑矩阵Java

在 MATLAB 中,有一个非常有用的函数 reshape ,它可以将一个 m x n 矩阵重塑为另一个大小不同(r x c)的新矩阵,但保留其原始数据。给你一个由二维数组 mat 表示的m x n 矩阵,以及两个正整数 r 和 c ,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的 行遍历顺序 填充。如果具有给定参数的 reshape 操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。输入:mat = [[1,2],[3,4]], r = 1.

2022-02-11 17:28:22 190

原创 从上到下打印二叉树

请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推classTreeNode{ intval; TreeNodeleft; TreeNoderight; TreeNode(intx){val=x;}}classSolution{publicList<List<Integer&gt...

2022-02-11 14:54:24 158

原创 从上打印二叉树(层序打印)

从上到下按层打印二叉树publicclassTreeNode{ intval; TreeNodeleft; TreeNoderight; TreeNode(intx){val=x;}}classSolution{publicList<List<Integer>>levelOrder(TreeNoderoot){...

2022-02-11 13:54:27 480

原创 从上到下打印二叉树

从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。Definitionforabinarytreenode.publicclassTreeNode{ intval; TreeNodeleft; TreeNoderight; TreeNode(intx){val=x;}}classSolution{publicint[]levelOrder(Tre...

2022-02-11 13:11:31 767

转载 求投资最大值利润

你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。publicintmaxProfit(...

2022-02-09 19:05:32 231

原创 第一个只出现一次的字符

给定一个字符串,找出字符串中第一个只出现一次阿字符,如果没有,返回一个空字符publiccharfirstUniqChar(Strings){HashMap<Character,Boolean>map=newHashMap<>();//hashMap不能存放两个相同的keychar[]sc=s.toCharArray();for(charc:sc)...

2022-02-09 16:33:14 327

原创 旋转数组的最小数字(二分法实现)

数组中存在重复的元素,即求数组中最小的元素publicintminArray(int[]numbers){//用二分法实现inti=0;intj=numbers.length-1;while(i<j){intm=(i+j)/2;//取到中间的值if(numbers[m]>numbers[j])i=m+1;els...

2022-02-09 15:46:15 329

原创 递增二维数组中的查找

publicbooleanfindNumberIn2DArray(int[][]matrix,inttarget){inti=matrix.length-1;intj=0;while(i>=0&&j<matrix[0].length){//第一列的各个数if(matrix[i][j]>target)i...

2022-02-09 15:23:42 150

原创 求数组中两数之和等于另一个数的下标

输入:nums = [2,7,11,15], target = 18输出:[1,2]解释:因为 nums[1] + nums[2] == 18,返回 [1, 2] 。publicint[]twoSum(int[]nums,inttarget){//不用排序List<Integer>list=newArrayList<Integer>();for(inti=0;i<nums.length...

2022-02-08 14:44:11 584

原创 求数组中缺失的数字

在0~n-1的递增数组中,找到缺失的数字例如[0,1,2,3,4,6,7]数组中确实的数字是5publicint findmissingNumber(int[]nums){Arrays.sort(nums);inti=0,j=nums.length-1;while(i<=j){intm=(i+j)/2;if(nums[m]==...

2022-02-08 14:22:29 1250

原创 最大子数组和

给定一个数组,求解数组的最大子数组的和并返回输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1] 的和最大,为6 。class Solution {publicintmaxSub(int[]nums){int num=0;int max=nums[0];for(int num1 :nums){num=Math.max(num+num1,num1);max=Math.max(max,num);...

2022-02-07 20:53:05 196

原创 左旋转字符串

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。来源:力扣(LeetCode)classSolution{publicStringreverseLeftWords(Strings,intn){char[]chars=s.toCha...

2022-02-07 14:01:43 316

原创 字符串替换空格

将输入的字符串中的空格转换成%20饼返回classSolution{publicStringreplaceSpace(Strings){char[]chars=s.toCharArray();char[]chars2=newchar[chars.length];Stringss="";for(inti=0;i<chars.length;i++){if...

2022-02-07 13:44:43 193

原创 Java反转链表

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。publicclassListNode{intval;ListNodenext;ListNode(intx){val=x;}}classSolution{publicListNodereverseList(ListNodehead){ListNodenode=head,pre=null;while(node!...

2022-02-07 13:36:35 247

原创 用两个栈实现一个队列

栈是先入后出,队列是先入先出定义两个栈,stack1,stack2,分别用来作为添加元素的添加栈,删除元素的删除栈classCQueue{privateStack<Integer>stack1;privateStack<Integer>stack2;publicCQueue(){stack1=newStack<>();stack2=newStack<>(...

2022-02-05 10:04:32 200

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除