面试编程题
慕白昂
这个作者很懒,什么都没留下…
展开
-
华为OD机试:路灯照明问题(100分)
一条笔直的公路上安装了N个路灯,从位置0开始安装,路灯之间的距离是100m。每个路灯都有自己的照明半径,请计算第一个路灯和最后一个路灯之间,未照明区间的长度和。第一行为一个数N,表示灯的个数,[1, 100000] 第二行为N个空格分隔的数,表示路灯的照明半径,[1,100*100000]输入:8 10 10 10 250 10 10 10 10 输出:160。第一个路灯和最后一个路灯之间,未照明区间的长度和。输入:4 50 70 20 70 输出:20。输入:2 50 50 输出:0。原创 2022-09-10 06:33:38 · 2188 阅读 · 0 评论 -
二分查找算法及其实例
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。原创 2022-07-07 17:09:28 · 554 阅读 · 0 评论 -
leetcode 寻找数组的中心下标
- 给你一个整数数组 nums ,请计算数组的 中心下标 。- 数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。- 如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。这一点对于中心下标位于数组最右端同样适用。- 如果数组有多个中心下标,应该返回 最靠近左边 的那一个。如果数组不存在中心下标,返回 -1 。...原创 2022-07-07 14:54:08 · 236 阅读 · 0 评论 -
leetcode 9 回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。原创 2022-07-07 13:08:26 · 90 阅读 · 0 评论 -
leetcode 字符串转换整数 (atoi)
请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)函数 myAtoi(string s) 的算法如下:原创 2022-07-06 20:18:20 · 114 阅读 · 0 评论 -
leetcode整型练习题 整数反转
给你一个 32 位的x ,返回将 x 中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围 ,就返回 0。原创 2022-07-06 17:42:00 · 169 阅读 · 0 评论 -
leetcode字符串练习题 Z 字形变换
将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。LISHIRING" 行数为 3 时,排列如下:之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);.........原创 2022-07-06 14:32:58 · 101 阅读 · 0 评论 -
leetcode字符串之 最长回文子串
给你一个字符串s ,找到s中最长的回文子串。原创 2022-07-04 18:36:32 · 355 阅读 · 0 评论 -
leetcode数组练习题:两个正序数组的中位数
寻找两个正序数组的中位数给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。解题思路及代码:第一种思路就是先合并数组,然后再找到中位数,这种方法的时间复杂度为O(m+n)第二种思路就是不合并数组,只去两数组中找到中位数所在的位置,找到后再取出即可,此时可以使用二分法来找到目标元素,时间复杂度为log(m+n)第一种方法时间复杂度不满足题目要求,不过也可解题其代码如下:第二种方法最终目标就是要找到中位数的位置,这其中原创 2022-07-03 20:00:38 · 125 阅读 · 0 评论 -
leetcode字符串练习题: 无重复字符的最长子串
给定一个字符串 ,请你找出其中不含有重复字符的 最大字串 的长度。原创 2022-07-02 18:13:55 · 187 阅读 · 0 评论 -
leetcode链表练习题 两数相加
给你两个的链表,表示两个的整数。它们每位数字都是按照 的方式存储的,并且每个节点只能存储数字。请你将两个数相加,并以相同形式返回一个的链表,你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9,9,9,9], l2 = [9,9,9,9]输出:[8,9,9,原创 2022-07-02 16:13:05 · 223 阅读 · 0 评论 -
leetcode数组练习题:摆动排序 II
给你一个整数数组 nums,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]… 的顺序。你可以假设所有输入数组都可以得到满足题目要求的结果。例如:输入:nums = [1,5,1,1,6,4]输出:[1,6,1,5,1,4]解释:[1,4,1,5,1,6] 同样是符合题目要求的结果,可以被判题程序接受。输入:nums = [1,3,2,2,3,1]输出:[2,3,1,3,1,2]观察上述题解,可得出输出结果是小大交叉排列的,那么初步思想就是先对数组进行整体排原创 2022-07-01 20:15:24 · 227 阅读 · 0 评论 -
面试题:给定一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。
面试题给定一个包含n个整数的数组nums,判断nums中是否存在三个元素a,b,c ,使得 a + b + c = 0?找出所有满足条件且不重复的三元组。示例例如, 给定数组nums = [-1, 0, 1, 2, -1, -4]满足要求的三元组集合为: [ [-1, 0, 1], [-1, -1, 2] ]题解#include<iostream>#include<vld.h>#include<vector>#include<alg原创 2021-03-18 23:48:22 · 3499 阅读 · 0 评论 -
面试题:有一个箱子容积为v,同时有n个物品,每个物品有一个体积。要求从n个物品中,任取若干个装入箱内,使箱子的剩余空间最小。
面试题有一个箱子容积为v,同时有n个物品,每个物品有一个体积。要求从n个物品中,任取若干个装入箱内,使箱子的剩余空间最小。输入箱子的容积 v物品个数 n每个物品占的空间 x1,x2输出最小剩余空间 s题解#define _CRT_SECURE_NO_WARNINGS 1#include<iostream>#include<vld.h>using namespace std;using namespace std;void sort(int原创 2021-03-18 17:13:48 · 2686 阅读 · 1 评论