面试经典150题(84-84.5)

leetcode 150道题 计划花两个月时候刷完,今天(第四十二天)完成了1道(84)150:

84.(17. 电话号码的字母组合)题目描述:

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

第一版(看的解题,感觉这个不知道循环层数,然后去用递归模拟循环层数是个模板啊,但是我看玩了第二题还是没弄出来。。)

class Solution {List<String> res=new ArrayList();public List<String> letterCombinations(String digits) {if(digits==null||digits.length()==0){return res;}String[] strs=new String[digits.length()];init(strs,digits);letterCombinationsCore(strs,new StringBuffer(),0);return res;}public void letterCombinationsCore(String[] strs,StringBuffer sb,int index){if(index==strs.length){res.add(sb.toString());return ;}// 就下面这个感觉是个模板。。for(int i=0;i<strs[index].length();i++){sb.append(strs[index].charAt(i));letterCombinationsCore(strs,sb,index+1);sb.deleteCharAt(sb.length()-1);}}public void init(String[] strs,String digits){for(int i=0;i<digits.length();i++){if(digits.charAt(i)=='2'){strs[i]="abc";}else if(digits.charAt(i)=='3'){strs[i]="def";}else if(digits.charAt(i)=='4'){strs[i]="ghi";}else if(digits.charAt(i)=='5'){strs[i]="jkl";}else if(digits.charAt(i)=='6'){strs[i]="mno";}else if(digits.charAt(i)=='7'){strs[i]="pqrs";}else if(digits.charAt(i)=='8'){strs[i]="tuv";}else{strs[i]="wxyz";}}}
}

85.(77. 组合)题目描述:

给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。
你可以按 任何顺序 返回答案。

还没做出来。。写的不对。。。我这个一次只能换一个。。

第一版

class Solution {List<List<Integer>> res=new ArrayList();public List<List<Integer>> combine(int n, int k) {if(n<k){return res;}int[] nums=new int[n];for(int i=1;i<=n;i++){nums[i-1]=i;}selectKNum(nums,k,0);return res;}public void selectKNum(int[] nums, int k,int start) {if(nums.length-start<k){return ;}List<Integer> list=new ArrayList();int i=start;for(;i<start+k;i++){list.add(nums[i]);}res.add(list);start=i;// 代表这次换第几个if(k>1){for(int index=0;index<k;index++){for(;i<nums.length;i++){List<Integer> temp=new ArrayList();for(int m=0;m<k;m++){if(m!=k-1-index){temp.add(list.get(m));}}temp.add(nums[i]);res.add(temp);}i=start;}}selectKNum(nums,k,start);}
}

回溯也好难。。。但是这块貌似面试挺多的还得好好看。。

加油,早日跳槽!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/626834.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用Go语言的HTTP客户端和服务器

使用Go语言进行HTTP客户端和服务器开发是一种高效且强大的方式。Go语言的标准库提供了对HTTP协议的全面支持&#xff0c;使得创建HTTP客户端和服务器变得简单。 首先&#xff0c;让我们来看一下如何创建一个简单的HTTP服务器。在Go中&#xff0c;可以使用net/http包来创建HTTP…

HNU-计算机网络-实验5(自选)-安全相关编程实验

计算机网络 课程综合实验安全相关编程实验&#xff08;RUST&#xff09; 计科210X 甘晴void 202108010XXX 【前言】 这个《课程综合实验》是21级开始新加的实验&#xff0c;之前都没有。具体的可以看实验指导书&#xff0c;是用的19级同学的毕设。我完成的这个实验需要一点点R…

left join NULL踩坑

1、背景 因为最近响应监管&#xff0c;做数据全面匿名化的需求。会在写入数据库时&#xff0c;把姓名身份证做MD5处理后&#xff0c;只保留32位的前30位&#xff0c;保证即使拿到处理后的数据&#xff0c;也无法复原&#xff0c;恢复到源数据。 相应的&#xff0c;大数据BDP …

java-方法-动动小手指给个一键三连吧❤️✨

文章目录 1.概念2.静态方法和非静态方法2.1静态方法2.2非静态方法 3 参数传递方式4.方法的重载5.命令行传参6.可变参数7.递归作业 1.概念 在面向对象编程中&#xff0c;方法&#xff08;Method&#xff09;是类或对象中用于执行特定任务的一段代码。方法可以访问和操作对象的属…

第十四讲_css媒体查询

css媒体查询 1. 媒体查询介绍2. 媒体类型3. 媒体特征3.1 常用的媒体特征 4. 逻辑运算符 1. 媒体查询介绍 CSS 媒体查询&#xff08;media query&#xff09;是响应式设计的关键组成部分&#xff0c;你可以根据各种设备特征和参数是否存在以及对应的值是否满足条件来应用不同的…

layabox_2d游戏A*寻路实践

使用工具 Red Blob Games 效果 项目地址 LayaAStar2D: Laya2.0引擎2D游戏使用AStar实践。

69_Pandas.DataFrame获取行号和列号

69_Pandas.DataFrame获取行号和列号 将讲解如何从pandas.DataFrame的行名和列名中获取行号和列号&#xff0c;以及如何从列元素的值中获取行名和行号。 下面对内容进行说明。 根据行名和列名获取行号和列号 get_loc() 方法 当行名和列名重复时 列表索引、列 从列元素值获取行…

深入理解 Flink(八)Flink Task 部署初始化和启动详解

JobMaster 部署 Task 核心入口&#xff1a; JobMaster.onStart();部署 Task 链条&#xff1a;JobMaster --> DefaultScheduler --> SchedulingStrategy --> ExecutionVertex --> Execution --> RPC请求 --> TaskExecutor TaskExecutor 处理 JobMaster 的 …

Few-shot Learning:知识点

目标&#xff1a; 让机器自己学会学习&#xff0c;学会理解和判断事物的异同&#xff08;如&#xff0c;区分两张图片内是相同的东西还是不同的东西&#xff0c;不是识别出是什么东西&#xff09; Pretraining 前景知识 C o s i n e S i m i l a r i t y Cosine \ Similarity…

❤ Uniapp使用二 ( 日常使用篇)

❤ Uniapp使用二 ( 日常使用篇) 一、表单 1、基础表单验证 form <form submit"formSubmit" reset"formReset"> <view class"uni-form-item uni-column"><view class"title">请选择类型{{selectvalue}}</view&…

Pandas实战100例 | 案例 63: 使用索引合并数据

案例 63: 使用索引合并数据 知识点讲解 在 Pandas 中&#xff0c;除了按列合并数据外&#xff0c;还可以使用 DataFrame 的索引进行合并。这在索引具有特定意义时特别有用。 使用索引合并: 通过指定 left_indexTrue 和 right_indexTrue&#xff0c;可以基于 DataFrame 的索引…

Go语言中的HTTP请求发送

在Go语言中&#xff0c;发送HTTP请求是一种常见的网络操作。Go语言的net/http包提供了强大的API&#xff0c;使开发者能够轻松地构建HTTP请求并处理响应。 下面我们将详细介绍如何使用Go语言发送HTTP请求&#xff0c;包括设置请求参数、处理响应状态码和头部信息、发送JSON数据…

2024年,如何更好地守护智能网联汽车出海网络安全与隐私安全?

近年来全球各国陆续出台了很多网络安全与数据合规相关的法律法规&#xff0c;如欧盟的《通用数据保护准则GDPR》、美国的《加州消费者信息保护法CCPA》、新加坡的《隐私数据保护法PDPA》等。在国内全国人大发布了《网络安全法》、《数据安全法》、《个人信息保护法》法律&#…

poi解析word取参数方法${参数名}获取参数异常处理(2024-01-12)

poi 读取word模板&#xff0c;确保 ${参数名} 在一个XWPFRun XWPFDocument读取word模板&#xff0c;经常遇到 ${参数名} 没有被识别在一个XWPFRun中&#xff0c;导致参数解析异常如法实现参数替换。 这里只是介绍word模板参数解析问题&#xff0c;让word格式如何转换为可以正常…

【MATLAB随笔】遗传算法优化的BP神经网络(随笔,不是很详细)

文章目录 一、算法思想1.1 BP神经网络1.2 遗传算法1.3 遗传算法优化的BP神经网络 二、代码解读2.1 数据预处理2.2 GABP2.3 部分函数说明 一、算法思想 1.1 BP神经网络 BP神经网络&#xff08;Backpropagation Neural Network&#xff0c;反向传播神经网络&#xff09;是一种监…

解析HTTP响应的JSON数据

解析HTTP响应的JSON数据是许多Web开发任务中的常见需求。在Go语言中&#xff0c;可以使用标准库中的encoding/json包来轻松解析JSON数据。下面我将详细介绍如何解析HTTP响应的JSON数据。 首先&#xff0c;确保你已经发送了一个HTTP请求并获取到了响应。然后&#xff0c;你可以…

智能管理护航制造企业安全生产:信息化升级解决方案解析-亿发

安全生产信息化是通过充分利用信息技术&#xff0c;及时采集安全生产管理中的各种要素和数据&#xff0c;并进行统计分析&#xff0c;随后将分析结果及时反馈&#xff0c;以实现对安全生产管理的指导和帮助&#xff0c;旨在提高安全生产管理的效能。 在提升安全生产管理水平方…

达摩研究院Paraformer语音识别-中文-通用-16k

原文&#xff1a;https://github.com/alibaba-damo-academy/FunASR/blob/main/runtime/readme_cn.md FunASR软件包路线图 English Version&#xff08;docs&#xff09; FunASR是由阿里巴巴通义实验室语音团队开源的一款语音识别基础框架&#xff0c;集成了语音端点检测、语…

Vue面试之生命周期(上篇)

Vue面试之生命周期(上篇) 创建阶段beforeCreatecreated挂载阶段beforeMountmounted更新阶段beforeUpdateupdated销毁阶段beforeDestroydestroyed补充说明activated

AI编程可视化Java项目拆解第二弹,AI辅助生成方法流程图

之前分享过一篇使用 AI 可视化 Java 项目的文章&#xff0c;同步在 AI 破局星球、知乎、掘金等地方都分享了。 原文在这里AI 编程&#xff1a;可视化 Java 项目 有很多人感兴趣&#xff0c;我打算写一个系列文章拆解这个项目&#xff0c;大家多多点赞支持~ 今天分享的是第二…