My-Leetcode-cn-Solutions
所属分类:Leetcode/题库
开发工具:Python
文件大小:42KB
下载次数:0
上传日期:2022-03-17 04:37:33
上 传 者:
sh-1993
说明: 我的Leetcode cn解决方案,,
(My-Leetcode-cn-Solutions,,)
文件列表:
0-9 (0, 2022-03-17)
0-9\1.两数之和.py (440, 2022-03-17)
0-9\2.两数相加.py (1134, 2022-03-17)
0-9\3.无重复字符的最长子串.py (718, 2022-03-17)
0-9\4.寻找两个正序数组的中位数.py (953, 2022-03-17)
0-9\5.最长回文子串.py (932, 2022-03-17)
0-9\6.z-字形变换.py (1786, 2022-03-17)
0-9\7.整数反转.py (942, 2022-03-17)
0-9\8.字符串转换整数-atoi.py (1067, 2022-03-17)
0-9\9.回文数.py (666, 2022-03-17)
10-19 (0, 2022-03-17)
10-19\10.正则表达式匹配.cpp (1147, 2022-03-17)
10-19\11.盛最多水的容器.cpp (722, 2022-03-17)
10-19\12.整数转罗马数字.cpp (1304, 2022-03-17)
10-19\13.罗马数字转整数.cpp (1151, 2022-03-17)
10-19\14.最长公共前缀.cpp (1026, 2022-03-17)
10-19\15.三数之和.cpp (2490, 2022-03-17)
10-19\16.最接近的三数之和.cpp (1574, 2022-03-17)
10-19\17.电话号码的字母组合.cpp (1477, 2022-03-17)
10-19\18.四数之和.java (2209, 2022-03-17)
10-19\19.删除链表的倒数第-n-个结点.cpp (1044, 2022-03-17)
102.二叉树的层序遍历.py (1205, 2022-03-17)
109.有序链表转换二叉搜索树.py (1202, 2022-03-17)
141.环形链表.cpp (740, 2022-03-17)
142.环形链表-ii.cpp (927, 2022-03-17)
146.lru-缓存机制.py (2472, 2022-03-17)
160.相交链表.cpp (779, 2022-03-17)
20-29 (0, 2022-03-17)
20-29\20.有效的括号.py (694, 2022-03-17)
20-29\21.合并两个有序链表.cpp (1369, 2022-03-17)
20-29\23.合并k个升序链表.cpp (2454, 2022-03-17)
20-29\24.两两交换链表中的节点.cpp (1039, 2022-03-17)
20-29\25.k-个一组翻转链表.cpp (2039, 2022-03-17)
20-29\26.删除有序数组中的重复项.cpp (824, 2022-03-17)
202.快乐数.java (964, 2022-03-17)
206.反转链表.cpp (899, 2022-03-17)
215.数组中的第k个最大元素.cpp (462, 2022-03-17)
22.括号生成.java (820, 2022-03-17)
... ...
# 公司笔试/面试真题收集
本页记录了我(的学长)在笔试/面试中遇到的真题和题解
## 百度笔试:搬家-切绳子
小明打算搬家,他需要很多绳子。......。总之,小明有n根绳子,他希望对这些绳子进行加工,每根绳子**最多**可以切割一次。他的目的是希望最终可以得到最多根长度相同的绳子,你能帮他计算结果吗?
输入描述
```
第一行一个整数n,表示绳子的数量
第二行n个整数,表示长度
```
样例
```
输入
3
2 3 3
输出
5
解释:5根1.5的
```
[题解](https://github.com/xuxiaohe0308/My-Leetcode-cn-Solutions/blob/master/./baidu-001.py)
思路:排序后按照绳子长度逐个考察,去掉切不成1/2长的过短绳,加上相同长度绳子的个数(能切出两份来)。
## boss直聘笔试:分词
给一句话,可以1个字切或2个字切,问有几种切分方式。接收函数输入输出。
样例
```
输入
"欢迎大家"
输出
5
解释:
"欢|迎|大|家",
"欢|迎|大家",
"欢|迎大|家",
"欢迎|大|家",
"欢迎|大家"
```
[题解](https://github.com/xuxiaohe0308/My-Leetcode-cn-Solutions/blob/master/./boss-002.py)
思路:最简单的动态规划,斐波那契数列。
## 美团面试:
### 反转链表
Leetcode 206原题,给你单链表的头节点head ,请你反转链表,并返回反转后的链表。
样例
```
输入:head = [1,2,3,4,5]
输出:[5,4,3,2,1]
```
[题解](https://github.com/xuxiaohe0308/My-Leetcode-cn-Solutions/blob/master/./206.反转链表.cpp)
### 两数之和
Leetcode 1原题,给定一个整数数组nums和一个整数目标值target,请你在该数组中找出**和为目标值**target 的那**两个**整数,并返回它们的数组下标。
样例
```
输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
```
[题解](https://github.com/xuxiaohe0308/My-Leetcode-cn-Solutions/blob/master/./1.两数之和.py)
## 华为面试:
### 字符串格式检测
输出给定的字符串是否符合以下要求:
1. 长度超过8位
2. 包括大小写字母.数字.其它符号,以上四种至少三种
3. 不能有相同长度超2的子串重复
输入输出描述:
```
输入一组或多组长度超过2的子符串。每组占一行
如果符合要求输出OK,否则输出NG
```
样例
```
输入
021Abc9000
021Abc9Abc1
输出
OK
NG
```
[题解](https://github.com/xuxiaohe0308/My-Leetcode-cn-Solutions/blob/master/./huawei.001.py)
### 连续子数组的最大和
剑指Offer 42原题,输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。
要求时间复杂度为O(n)。
样例
```
输入: nums = [-2,1,-3,4,-1,2,1,-5,4]
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。
```
[题解](https://github.com/xuxiaohe0308/My-Leetcode-cn-Solutions/blob/master/./Offer.42.py)
思路:动态规划,使用$$f(n)$$来表示结尾在n的子数组的最大和,则考察下一个元素时只考虑添加此元素至之前的数组or开一个新数组,即$$f(n)=max(f(n-1)+nums[n],nums[n])$$。最后找整个$$f(n)$$的最大值即可。
进一步,观察其本质可发现考察下一个元素时其实只是在判断$$f(n-1)$$的正负,故可以这么想:在考察某个元素时,如果之前的最优解是负的,那就丢掉。
## 京东笔试:K次行动
小明在一条直线上执行任务,需要在坐标0的位置和坐标a的位置之间来回移动。每次行动小明需要从0移动到a,或者从a移动到0。每移动1个单位坐标,小明携带的仪器需要耗费对应1个单位的能量。携带的仪器最多可装b个能量单位,初始时仪器是满能量。坐标0和a之间有一处坐标f位置可以给仪器充能。现在小明从0移动至a或者从a移动至0都算一次行动。请问小明从0出发,希望完成k次行动,最少需要在f坐标处充能多少次。
输入输出描述
```
输入一行4个空格隔开的数字a,b,f,k
输出最小充能次数,如果不能则-1
```
样例
```
输入
6 9 2 4
输出
4
输入
6 10 2 4
输出
2
```
[题解](https://github.com/xuxiaohe0308/My-Leetcode-cn-Solutions/blob/master/./jd-001.py)
思路:模拟出整个过程来。为了加最少次的能,需要考虑这次路过充能点时剩余的能量是否足以撑到下次路过充能点(最后一趟除外)。
## 待更新......
近期下载者:
相关文件:
收藏者: