当前位置: 首页 > news >正文

CodeTop100 Day22

64、组合总和

典型的回溯题,有很多类似的模板,但是要想一想是否可以重复使用,重复使用进入递归还是i,不能重复就是i+1

class Solution {public List<List<Integer>> combinationSum(int[] candidates, int target) {List<List<Integer>> result=new ArrayList<>();if(candidates==null||candidates.length==0){return result;}backtrcak(candidates,new ArrayList<>(),result,0,target);return result;}private void backtrcak(int[] candidates,List<Integer> current,List<List<Integer>> result,int start,int target){if(target==0){result.add(new ArrayList<>(current));return;}if(target<0){return;}for(int i=start;i<candidates.length;i++){current.add(candidates[i]);backtrcak(candidates,current,result,i,target-candidates[i]);current.remove(current.size()-1);}}
}

65、旋转图像

想明白它是怎么旋转的,规律是什么

首先是根据对角线进行替换:123 456 789->147 258 369然后首尾交换 741 852 963

class Solution {public void rotate(int[][] matrix) {//旋转规则sum[1][m]->sum[m][r],int n=matrix.length;for(int i=0;i<n;i++){for(int j=i;j<n;j++){int temp=matrix[i][j];matrix[i][j]=matrix[j][i];matrix[j][i]=temp;}}for(int i=0;i<n;i++){for(int j=0;j<n/2;j++){int temp=matrix[i][j];matrix[i][j]=matrix[i][n-1-j];matrix[i][n-1-j]=temp;}}}
}

66、二叉树的直径

很显然的思路是对每个节点计算左右子树最大高度,求得每个节点的直径,然后定义一个变量每次更新最大值

class Solution {int max=0;public int diameterOfBinaryTree(TreeNode root) {//给一个结点,返回左子树最大距离+右子树最大距离+1,遍历所有结点,求最大值dep(root);return max;}public int dep(TreeNode node){if(node==null){return 0;}int leftd=dep(node.left);int rightd=dep(node.right);max=Math.max(max,leftd+rightd);return Math.max(leftd,rightd)+1;}
}

相关文章:

  • 第八部分:第五节 - 生命周期与副作用 (`useEffect` Hook):组件的幕后工作
  • Java对象创建过程
  • Python-多线程(一)
  • Qwen3与MCP协议:重塑大气科学的智能研究范式
  • JSON基础知识
  • Java框架面试题
  • 【HarmonyOS 5】游戏开发教程
  • 国标GB28181视频平台EasyGBS视频实时监控系统打造换热站全景可视化管理方案
  • 第二章 2.2 数据存储安全风险之数据存储风险分析
  • Mac 双系统
  • 如何在 React 中监听 div 的滚动事件
  • 导出onnx的两种方法
  • 在本地查看服务器上的TensorBoard
  • 2025年- H65-Lc173--347.前k个高频元素(小根堆,堆顶元素是当前堆元素里面最小的)--Java版
  • 洛谷P1591阶乘数码
  • JavaWeb简介
  • 二维 根据矩阵变换计算镜像旋转角度
  • 【LLM大模型技术专题】「入门到精通系列教程」LangChain4j与Spring Boot集成开发实战指南
  • 记录一下centos8安装nginx并部署使用
  • 使用 Python 的 psutil 库进行系统资源监控
  • 助孕网站优化推广/专业seo推广
  • 服装设计公司主要做什么/天津优化代理
  • 个人备案可以做哪些网站/百度竞价客服
  • 学校网站的图片轮播怎么做/湘潭网页设计
  • 网站logo怎么做/百度收录技巧
  • 求职网站网页设计/上海网络推广公司排名