
编程题
阿狸远翔
这个作者很懒,什么都没留下…
展开
-
华为上级考试 [编程题] 最高分是多少
[编程题] 最高分是多少时间限制:1秒空间限制:65536K老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩.输入描述:输入包括多组测试数据。每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。学生ID编号从1编到N...原创 2019-03-02 19:01:31 · 863 阅读 · 0 评论 -
腾讯暑期实习生机试题 - 打怪兽 java
本题测试样例46 2 4 91 1 1 2输出:346 2 8 9 161 1 1 2 2输出:331 1 51 1 2输出:3import java.util.ArrayList;import java.util.List;import java.util.Scanner;/** * @program: 个人demo * @descri...原创 2019-04-06 13:16:10 · 856 阅读 · 0 评论 -
腾讯暑期实习生机试题 -找硬币 java
#include<stdio.h>#include<algorithm>#include<cmath>using namespace std;int M,N,A[105],Ans;int main(){ int i,x,tot=0,t; //tot表示当前可以凑成的最大面值,且tot以下的都能凑成 scanf(...转载 2019-04-07 11:24:42 · 179 阅读 · 0 评论 -
LeetCode 322. 零钱兑换(Java 动态规划)
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。示例1:输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1说...原创 2019-04-09 11:39:09 · 3367 阅读 · 0 评论 -
快手实习生机试题 阶乘末尾非0数字
import java.util.*;/** * @program: 个人demo * @description: 每次都是pass * @author: Mr.Hu * @create: 2019-03-29 19:07 */public class Main { public static void main(String[] args) { Scann...原创 2019-04-13 18:27:15 · 250 阅读 · 0 评论 -
快手实习生机试题 求x到y的最少计算次数
分析: 使用层序遍历即可;import java.util.*;/** * @program: 个人demo * @description: 每次都是pass * @author: Mr.Hu */public class Main { public static void main(String[] args) {Scanner in = new S...原创 2019-04-13 18:29:15 · 925 阅读 · 0 评论 -
快手实习生机试题 字符串最小变换次数
分析: 动态规划,dp[ i ][ j ] 存储a[0]到a[ i ] 与b[0]到b[ j ] 两个字符串的最少变换次数(ab为字符数组),状态转移方程为dp[i][j] = min(dp[i-1][j]+1 , dp[i][j-1]+1 , dp[i-1][j-1]+(a[i]==b[j]?0:1) );代码:import java.util.*;p...原创 2022-02-22 20:52:50 · 552 阅读 · 0 评论 -
京东 2019实习生招聘 Java开发类试卷在线考试
京东 2019实习生招聘 Java开发类试卷在线考试紧急疏散时间限制:C/C++语言1000MS;其他语言3000MS内存限制:C/C++语言65536KB;其他语言589824KB题目描述:体育场突然着火了,现场需要紧急疏散,但是过道真的是太窄了,同时只能容许一个人通过。现在知道了体育场的所有座位分布,座位分布图是一棵树,已知每个座位上都坐了一个人,安全出口在树的根部,也...原创 2019-04-13 22:15:52 · 406 阅读 · 0 评论 -
素数筛法
import java.util.Scanner;/** * @program: 个人demo * @description: 素数筛法 时间复杂度 O(lglgn)遍历数组将素数的合数(2/3/4...倍)置为非素数 * @author: Mr.Hu * @create: 2019-05-01 19:44 */public class Main { public st...原创 2019-05-02 16:52:46 · 121 阅读 · 0 评论 -
字符串匹配之KMP算法
import java.util.Scanner;/** * @program: 个人demo * @description: KMP 字符串匹配 * @author: Mr.Hu * @create: 2019-05-01 19:44 */public class Main { public static void main(String[] args) { ...原创 2019-05-03 10:31:19 · 181 阅读 · 0 评论 -
LeetCode 35. 搜索插入位置 java
35. 搜索插入位置给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 1:输入: [1,3,5,6], 5输出: 2分析: 正常二分查找,最后加个判断条件就好。 public static int searchInsert(int[] nums, i...原创 2019-05-04 19:49:19 · 356 阅读 · 0 评论 -
LeetCode 34. 在排序数组中查找元素的第一个和最后一个位置 java
34. 在排序数组中查找元素的第一个和最后一个位置给定一个按照升序排列的整数数组nums,和一个目标值target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是O(logn) 级别。如果数组中不存在目标值,返回[-1, -1]。示例 1:输入: nums = [5,7,7,8,8,10], target = 8输出: [3,4] ...原创 2019-05-04 20:22:57 · 264 阅读 · 0 评论 -
LeetCode 简化路径 java
简化路径以 Unix 风格给出一个文件的绝对路径,你需要简化它。或者换句话说,将其转换为规范路径。在 Unix 风格的文件系统中,一个点(.)表示当前目录本身;此外,两个点 (..)表示将目录切换到上一级(指向父目录);两者都可以是复杂相对路径的组成部分。更多信息请参阅:Linux / Unix中的绝对路径 vs 相对路径请注意,返回的规范路径必须始终以斜杠/开头,并且两个目录...原创 2019-05-06 19:06:24 · 422 阅读 · 0 评论 -
LeetCode 215. 数组中的第K个最大元素
题目在未排序的数组中找到第k个最大的元素。请注意,它是数组有序排列后的第k个最大元素,而不是第k个不同元素。例如,给出[3,2,1,5,6,4]和k = 2,返回5。注意事项:你可以假设k总是有效的,1 ≤ k ≤数组的长度。方法一: 先对数组快速排序再选择第K大的。时间复杂度O(nlgn) 空间复杂度O(1)方法二: 维持一个大小...原创 2019-05-09 15:32:56 · 329 阅读 · 0 评论 -
LeetCode 674. 最长连续递增序列 java
给定一个未经排序的整数数组,找到最长且连续的的递增序列。示例 1:输入: [1,3,5,4,7]输出: 3解释: 最长连续递增序列是 [1,3,5], 长度为3。尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为5和7在原数组里被4隔开。 示例 2:输入: [2,2,2,2,2]输出: 1解释: 最长连续递增序列是 [2], 长度为1。注意:数...原创 2019-05-07 19:01:35 · 496 阅读 · 0 评论 -
LeetCode 33. 搜索旋转排序数组 java
假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log n) 级别。示例 1:输入:nums = [4,5,6,7,0,1,2], target = ...原创 2019-08-07 23:58:13 · 191 阅读 · 0 评论 -
84. 柱状图中最大的矩形 (没有指针 Java给一个数组追加数字太难用)
给定n个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为[2,1,5,6,2,3]。图中阴影部分为所能勾勒出的最大矩形面积,其面积为10个单位。示例:输入: [2,1,5,6,2,3]输出: 10 /** ...原创 2019-04-10 16:39:30 · 115 阅读 · 0 评论 -
LeetCode 70. 爬楼梯 (Java)动态规划
假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定n是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: 3解释: 有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. ...原创 2019-04-10 11:38:22 · 485 阅读 · 0 评论 -
华为机试题[编程题] 简单错误记录
[编程题] 简单错误记录时间限制:1秒空间限制:65536K开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。处理:1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加;(文件所在的目录不同,文件名和行号相同也要合并)2.超过16个字符的文件名称,只记录文件的最后有效16个字符;(如果文件名不同,而只是文件名的后1...原创 2019-03-02 21:31:27 · 865 阅读 · 0 评论 -
华为机试题[编程题] 扑克牌大小
[编程题] 扑克牌大小时间限制:10秒空间限制:131072K扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A,2各4张,小王1张,大王1张。牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大王):)3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER输入两手牌,两手牌之间用“-”连接,每手牌的每张牌以空格...原创 2019-03-02 23:39:51 · 1403 阅读 · 0 评论 -
2019华为暑期实习机试题 Java(判断IP地址是否属于同一网段)
题目描述: 给定两个IP地址和个子网掩码, 如果两个IP地址跟子网掩码进制按位与之后的结果相同,则认为两个P地址属于同一个网段例192.168.1.1与子网掩码255 255 255 240二进制按位与之后为192 168 1.0现给定两个IP地址和个子网掩码,判断是否2个IP地址是否是一个网段,并按照要求输出第个IP地址与子网掩码一进制按位与之后的IP。输入描述: ...原创 2019-03-13 21:42:10 · 1907 阅读 · 0 评论 -
2019华为暑期实习机试题 Java(给定一个二维0/1矩阵,找到并返回其中由1组成的最大正方形面积。)--动态规划
分析: 这个题暴力解也能过了,最佳解法使用动态规划的思想:本题考虑的是正方形的面积,所以算出最长的边长就好。我们假设dp[i][j] 是以 [i][j] 为顶点的最大的正方形边长。我们可以写出状态转移方程:若 [i][j] 这个点是1 :那么dp[i][j]=min{dp[i-1][j-1],dp[i-1][j],dp[i][j-1]}+1。否则 :dp[i][j]=...原创 2019-03-13 22:14:48 · 4490 阅读 · 0 评论 -
剑指Offer---寻找第N个丑数 Java
【题目】 把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。 习惯上我们把1当做是第一个丑数。因此,前10个丑数是求按从小到大的顺序的第N个丑数。【基本思路】 暴力解法: 如果一个数是丑数,那么这个数,如果能被2整除,就一直除以2,如果能被3整除就一直除以3,如果能被5整除,就一直除以5,最后的结果...原创 2019-03-14 10:57:20 · 446 阅读 · 0 评论 -
腾讯实习生机试题 [编程题] 算法基础-字符移位
[编程题] 算法基础-字符移位时间限制:1秒空间限制:32768K小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。你能帮帮小Q吗?输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.输出描述:对于每组数据,输出移位后的...原创 2019-03-09 15:19:12 · 188 阅读 · 0 评论 -
腾讯暑期实习生机试题 - java [编程题] 有趣的数字
[编程题] 有趣的数字时间限制:1秒空间限制:32768K小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,相差最小的有多少对呢?相差最大呢?输入描述:输入包含多组测试数据。对于每组测试数据:N - 本组测试数据有n个数a1,a2...an - 需要计算的数据保证:1<=N<=100000,0<=ai<=INT_...原创 2019-03-09 17:01:40 · 239 阅读 · 0 评论 -
LeetCode -Java 5. 最长回文子串
给定一个字符串s,找到s中最长的回文子串。你可以假设s的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"分析: 暴力解法: 选出所有子字符串可能的开始和结束位置,并检验它是不是回文。复杂度O(n*n*n) ...原创 2019-03-14 17:20:33 · 263 阅读 · 0 评论 -
杭州智慧城市机试题-Java 数组找出无序的个数
给定任意一维数组,如{1, 4, 3, 5, 9, 12, 11, 14, 17}。该数组可能是有序的,也可能是无序的。请写一个函数,求出将该数组变成有序数组时,最少需要重新排序的元素个数。例如{1, 4, 3, 5, 9, 12, 11, 14, 17},输出结果为:6,需要对{4, 3, 5, 9, 12, 11}重新排序。最佳要求:时间复杂度O(N),空间复杂度O(1)。算法+分析:...原创 2019-03-14 21:13:51 · 183 阅读 · 0 评论 -
2019拼多多暑期实习生机试题-01(java)
分析: 直接排序,大的*小的就好。import java.util.*;/** * @author: Mr.Hu * @create: 2019-03-01 21:10 */public class Main{ public static void main(String[] args) { Scanner sc =new Sc...原创 2019-03-10 21:46:27 · 676 阅读 · 0 评论 -
2019拼多多暑期实习生机试题-02趣味字母卡片(java)
分析:1. 名词解释 字母序要理解:字典序(dictionary order),又称字母序(alphabetical order),原意是表示英文单词在字典中的先后顺序,在计算机领域中扩展成两个任意字符串的大小关系。在字典中,单词是按照首字母在字母表中的顺序进行排列的,比如 alpha 在 beta 之前。而第一个字母相同时,会去比较两个单词的第二个字母在字母表中的...原创 2019-03-10 22:00:15 · 610 阅读 · 0 评论 -
二叉树专题 :翻转镜像、对称、遍历、所有路径
翻转一棵二叉树。 class TreeNode { //二叉树定义 int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } public TreeNode invertTree(TreeNode ...原创 2019-03-20 22:53:03 · 349 阅读 · 0 评论 -
Java [编程题]大整数相乘
[编程题]大整数相乘时间限制:1秒 空间限制:32768K有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示。不能用系统自带的大整数类型。输入描述:空格分隔的两个字符串,代表输入的两个大整数输出描述:输入的乘积,用字符串表示示例1输入72106547548473106236 982161082972751393输出7082024...原创 2019-03-12 20:15:10 · 1217 阅读 · 0 评论 -
2019拼多多暑期实习生机试题-03 避嫌抢劫(java)
题目描述: 小镇沿街分布(可以理解为都在数轴上,有n家银行(位置以数轴的坐标表示,金额表示可以被抢走的金题),两个绑匪试图分别抢动一个银行为了让警方多奔波他们高定选择的两个银行距离不小于d,请问符合约定的情况下他们能抢到的总金额最大是多少?输入描述:输入包括n+1行。第一行包含两个数字n和d (1≤n≤2000000 ,1<d<10000000) n表示银行的数...原创 2019-03-13 14:41:11 · 1245 阅读 · 0 评论 -
leetcode -java 56. 合并区间
给出一个区间的集合,请合并所有重叠的区间。示例 1:输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例2:输入: [[1,4],[4,5]]输出: [[1,5]]解释: 区间 [1,4] 和 [4,5] 可被视为重叠区间。...原创 2019-03-21 22:23:22 · 210 阅读 · 0 评论 -
LeetCode 547. 朋友圈 java
班上有 N 名学生。其中有些人是朋友,有些则不是。他们的友谊具有是传递性。如果已知 A 是 B 的朋友,B 是 C 的朋友,那么我们可以认为 A 也是 C 的朋友。所谓的朋友圈,是指所有朋友的集合。给定一个 N * N 的矩阵 M,表示班级中学生之间的朋友关系。如果M[i][j] = 1,表示已知第 i 个和 j 个学生互为朋友关系,否则为不知道。你必须输出所有学生中的已知的朋友圈总数。示例 ...原创 2019-08-08 00:01:44 · 260 阅读 · 0 评论