首页 > 编程语言 >代码随想录算法训练营第十六天 | Javascript | 力扣Leetcode | 回溯 | 77. 组合、216. 组合综合 III、17. 电话号码的字母组合

代码随想录算法训练营第十六天 | Javascript | 力扣Leetcode | 回溯 | 77. 组合、216. 组合综合 III、17. 电话号码的字母组合

时间:2024-09-20 11:23:26浏览次数:3  
标签:题目 组合 随想录 arr1 字母组合 拷贝 链接

目录

前言

简介

题目链接:77. 组合

题目链接:216. 组合总和 3

题目链接:17. 电话号码的字母组合


前言

踏平坎坷成大道,斗罢艰险又出发!

自律的尽头是自控,自控的尽头是硬控

愿道友们披荆斩棘,终能得偿所愿。

简介

本人是小几年经验的前端开发,算法基础只有力扣几十道题,非常薄弱。

今天是个人的代码随想录算法硬控自己第16天,开启回溯。

题目链接:77. 组合

犯了一个错误,在js里,把一个数组push到另一个数组里的时候,要用arr2.push([...arr1])而不能arr2.push(arr1),前者是拷贝副本,后者只是拷贝了引用,拷贝引用的后果就是arr1变化的时候拷贝进去的arr2里的arr1也在变。

题目链接:216. 组合总和 3

这题注意剪枝,这里剪枝的原理是如果当前遍历的元素已经大于需要的目标总和也就是n了,那么直接return,因为已经没有意义了。

题目链接:17. 电话号码的字母组合

这是组合问题里的小变形,不再是一个集合里去重求组合,而是从两个集合里分别取元素,因此回溯函数不再传进去startIndex,而是index,index这里表示当前到了哪个电话号码,比如digits是'23', index为0就是当前处理的是'2'也就是对应着的'abc'。

标签:题目,组合,随想录,arr1,字母组合,拷贝,链接
From: https://blog.csdn.net/RayLobeCode/article/details/142330116

相关文章

  • 代码随想录算法训练营第十五天 | Javascript | 继续二叉树的一天 | 力扣Leetcode | 补
    目录前言简介题目链接:501.二叉搜索树中的众数题目链接:236.二叉树的最近公共祖先题目链接:235.二叉搜索树的最近公共祖先前言踏平坎坷成大道,斗罢艰险又出发!自律的尽头是自控,自控的尽头是硬控。愿道友们披荆斩棘,终能得偿所愿。简介本人是小几年经验的前端开发,......
  • 代码随想录 -- 二叉树 -- 把二叉搜索树转换为累加树
    538.把二叉搜索树转换为累加树-力扣(LeetCode)思路:定义pre变量用来记录当前节点的前一个节点(右中左顺序遍历)的值。递归出口:当root为空时,return。单层递归逻辑:(右中左)右:self.tra(root.right)中:令root的值为它本身加上pre,更新pre为当前root的值;左:self.tra(root.left)class......
  • 代码随想录 -- 二叉树 -- 将有序数组转换为二叉搜索树
    108.将有序数组转换为二叉搜索树-力扣(LeetCode)思路:(注意题目要求是平衡二叉树!!!)递归出口:当传入数组为空时,返回空。单层递归逻辑:找到数组中间的值,令其为root,数组左边为root的左子树,数组右边为root的右子树。最后返回root。classSolution(object):defsortedArrayTo......
  • 代码随想录 -- 二叉树 -- 修剪二叉搜索树
     669.修剪二叉搜索树-力扣(LeetCode)思路:递归出口:当root为空时,返回空。当root的值比low小时,如果root没有右子树,直接返回空;否则返回trimBST(root.right,low,high)。当root的值比high大时,如果root没有左子树,直接返回空;否则返回trimBST(root.left,low,high)。单层递归逻辑:......
  • 深入解析Vue 3组合函数:提高代码复用性和模块化的最佳实践
    随着Vue3的引入,组合式API(CompositionAPI)带来了更灵活的代码组织方式,组合函数作为其核心部分,能够显著提升代码的可维护性、复用性和模块化。在这篇文章中,我们将通过一个具体的表格管理和分页功能的示例,详细介绍如何使用组合函数来构建更加高效和清晰的Vue3应用。1.组合函数......
  • 基于Vue 3组合函数的分页、搜索与排序实践 —— nbsaas-boot项目的实际应用
    随着前端框架的不断发展,Vue3引入的组合式API(CompositionAPI)为开发者提供了一种更灵活、更强大的逻辑复用方式。组合函数(CompositionFunction)可以将通用逻辑抽取成独立模块,便于在不同组件间共享和复用。本文将基于nbsaas-boot项目,详细介绍如何通过Vue3的组合函数实现分页、......
  • 代码随想录算法 - 回溯算法2
    之前做题给的题解都太混乱了,我决定好好按照思路写题解。题目139.组合总和给你一个无重复元素的整数数组candidates和一个目标整数target,找出candidates中可以使数字和为目标数target的所有不同组合,并以列表形式返回。你可以按任意顺序返回这些组合。candidate......
  • Java开发环境搭建:JDK与Eclipse的完美组合
    摘要:本文简述了Java开发环境的搭建,包括JDK的安装、环境变量配置,以及EclipseIDE的设置。提供了详细的步骤指导,帮助Java初学者快速搭建开发环境并运行第一个项目。Java的跨平台特性与环境需求我们写C/C++时,直接下载VisualStudio,然后在里面直接写代码就可以了。但是Java不行。这不是......
  • 代码随想录刷题day13 | LeetCode 110.平衡二叉树 257. 二叉树的所有路径 404.左叶子之
    110.平衡二叉树力扣题目链接后序遍历求高度,高度判断是否平衡|LeetCode:110.平衡二叉树1.三元运算符:(?:)condition?expression_if_true:expression_if_false;前面是条件,如果符合就等于冒号前的expression_if_true,反之则是后面的。2.如果要使用if(!node->left),要......
  • 代码随想录算法训练营,9月19日 | 39. 组合总和,40.组合总和II,131.分割回文串
    39.组合总和题目链接:39.组合总和文档讲解︰代码随想录(programmercarl.com)视频讲解︰组合总和日期:2024-09-19想法:组合总和类型题,允许重复使用元素,递归不+1就行。Java代码如下:classSolution{List<Integer>path=newArrayList<>();List<List<Integer>>res=n......