便利蜂java面试题_便利蜂20200507笔试题(Java)
第一题是0-1背包问题, 用贪心算法解, 通过14%
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;
public class Main4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int length = Integer.parseInt(sc.nextLine());
String [] widthsStr = sc.nextLine().split(",");
String [] valuesStr = sc.nextLine().split(",");
sc.close();
int n = widthsStr.length;
Commodity [] commodities = new Commodity[n];
for (int i=0; i
Commodity commodity = new Commodity(Integer.parseInt(widthsStr[i]), Integer.parseInt(valuesStr[i]));
commodities[i] = commodity;
}
// 按单位价值从大到小排序
Arrays.sort(commodities, Collections.reverseOrder());
int ans = solve(commodities, n, length);
System.out.println(ans);
}
private static int solve(Commodity [] commodities, int n, int length) {
int tmpLength = length;
int maxValue = 0;
for (int i=0; i
if (tmpLength - commodities[i].getWidth()
continue;
tmpLength -= commodities[i].getWidth();
maxValue += commodities[i].getValue();
}
return maxValue;
}
}
class Commodity implements Comparable {
private double width;
private double value;
private double unitValue;
public Commodity(double width, double value) {
this.width = width;
this.value = value;
this.unitValue = (width == 0) ? 0 : value / width;
}
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
public double getValue() {
return value;
}
public void setValue(double value) {
this.value = value;
}
public double getUnitValue() {
return unitValue;
}
public void setUnitValue(double unitValue) {
this.unitValue = unitValue;
}
@Override
public int compareTo(Commodity commodity) {
double value = commodity.unitValue;
if (unitValue > value)
return 1;
if (unitValue
return -1;
return 0;
}
} 第二题是给一个图像, 问给定的字符串能否在图像中连续
import java.util.Scanner;
public class Main2 {
static char[][] photo = {
{'0', '1', 'C', 'H', 'A'},
{'9', 'E', '7', 'B', 'I'},
{'K', 'D', '4', '8', 'J'},
{'6', '5', 'F', 'G', 'O'},
{'L', 'N', 'M', '2', '3'}};
static int dx[] = {-1, 0, 1, 0};
static int dy[] = {0, 1, 0, -1};
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
boolean flag;
String str;
while (sc.hasNext()) {
str = sc.nextLine();
flag = isLianxu(str);
if (flag == false) {
System.out.println("N");
} else {
System.out.println("Y");
}
}
sc.close();
}
private static boolean isLianxu(String str) {
char c = str.charAt(0);
for (int i = 0; i
for (int j = 0; j
if (c == photo[i][j]) {
return dfs(str, 1, i, j);
}
}
}
return false;
}
private static boolean dfs(String str, int index, int i, int j) {
if (str.length() == index) {
return true;
}
for (int d = 0; d
int x = i + dx[d], y = j + dy[d];
if (isSafe(x, y) && str.charAt(index)==photo[x][y]) {
return dfs(str, index+1, x, y);
}
}
return false;
}
private static boolean isSafe(int i, int j) {
if (i >= 0 && i <= 4 && j >= 0 && j <= 4) {
return true;
}
return false;
}
} 第三题, 字符串解码
import java.util.Scanner;
public class Main1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
sc.close();
String ans = method(str);
System.out.println(ans);
}
private static String method(String str) {
StringBuffer sb = new StringBuffer();
for (int i=0, j=1; j
int count = str.charAt(i) - '0';
char value = str.charAt(j);
for (int k=0; k
sb.append(value);
}
}
return sb.toString();
}
}
便利蜂java面试题_便利蜂20200507笔试题(Java)相关推荐
- python数据挖掘面试题_数据挖掘150道笔试题
作者:白宁超 2016年10月16日13:44:06 摘要:正值找工作之际,数据挖掘150道面试题涵盖很多基础知识点,如果你针对求职提前针对性准备,可以以此为为参照检查自己水平,如果你不为求职,也可以 ...
- python数据分析笔试题_数据分析岗Python笔试题
我整理了数据分析师岗的Python笔试题,主要涉及到用Python完成数据处理和分析的内容.自己做了一遍,供大家学习思考. 一.数据处理题 1.将Excel工作簿 "Test.xlsx&qu ...
- 艺龙java面试题_艺龙2018秋招Java笔试题
在牛客做了那么多题,终于轮到我分享了~~这是我做过的艺龙的Java笔试题哦~~ 单选题 1.设有以下递归函数: int f(int m,int n) { if(m==0) { return n+1; ...
- java 多线程 并发 面试题_最常见的15个Java多线程,并发面试问题
假设你有三个线程T1,T2,T3.你如何能保证线程T2在线程T1后运行,T3在T2后运行 这个线程面试问题大多是在第一轮或电话筛选轮次中会被问到的,这个多线程问题的目的是检查候选人对"joi ...
- java中级职称考试试题_Java中级开发工程师笔试题及答案2016
Java中级开发工程师笔试题及答案2016 java中级工程师考试试题你做了吗?下面随yjbys小编一起来看看最新Java中级开发工程师笔试题及答案,仅供考生参考! 1) 描述Web Service的 ...
- Java SE 基础部分经典100道笔试题
这100道题的范围主要是Java SE部分,正在学习Java SE的同学可以做一下,巩固一下学习的知识,也比较适合准备面试的同学复习使用.本题有90道选择题和10道填空题,选择题大部分是单选题,少数为 ...
- java俄罗斯方块视频_[VIP视频]【A0233】java面对对象编程-俄罗斯方块视频教程 高清视频 百度云 百度网...
Java视频教程名称:java面对对象编程-俄罗斯方块视频教程 俄罗斯方块视频教程 $ X0 X1 Z: W4 P3 T e. m3 q百度网盘下载链接: . M% x- I- V5 p( J 游 ...
- 中软国际python机试题_中软国际笔试试题
中软国际校园招聘笔试试题 考试范围: 1 .逻辑推理题(共 20 分) 2 .开发技术题(共 60 分) 3 .软件工程知识题(共 20 分) 考试要求: 1 .考试时间为 60 分钟,每个人独立完成 ...
- 中软python机试_中软国际python机试题_中软国际笔试试题
考试范围: 1 .逻辑推理题(共 20 分) 2 .开发技术题(共 60 分) 3 .软件工程知识题(共 20 分) 考试要求: 1 .考试时间为 60 分钟,每个人独立完成考试 2 .须在" ...
- java笔试题大全带答案_java笔试题大全带答案经典11题
java笔试题大全带答案(经典11题) 1.不通过构造函数也能创建对象吗() A. 是 B. 否 分析:答案:A Java创建对象的几种方式(重要): (1) 用new语句创建对象,这是最常见的创建对 ...
最新文章
- php多选框怎么传值,tp3.2如何处理多选框传参和判断状态
- linux可以远程装机吗,linux 远程装机
- 使用Silverlight for Embedded开发绚丽的界面(2)
- 代码编译delphi条件编译
- 主成分分析(Principal components analysis)-最大方差解释
- 一致性算法- Paxos
- 对数函数定义域和值域为r_对数函数
- 解析函数论 Page 8 $f(x)$在$x_0$处解析的充要条件
- 探讨一种 Java 实现分组的方法
- 悲剧:金山毒霸官网被黑客攻破
- Arduino USBASP烧录之ICSP模式
- android人脸情绪识别器,Emotion Recognition微软人脸情绪识别器
- TencentOS Server编译安装nginx(1.22.0)
- 嵌入式专业英文词汇汇总
- 【从零开始学AR】:开发工具选择与Unity安装(准备工作)
- 网络创业者莱恩-福克斯:最后一分钟的奇迹
- 经典同步时序逻辑电路分析汇总(第六道)(同步四进制可逆加减法计数器)
- c语言利用rand()函数生成一组不重复的随机数
- 命令行生成、运行及调用jar包
- 年轻代和年老代分配过大 或 过小
热门文章
- 含论文+辩论PPT+源码等]微信小程序ssm社区心理健康服务平台+后台管理系统
- 图片多样化切换_您想让您的工作室更多样化吗?
- 黑板报首期(080527)优秀文章推荐
- java字符串取反_Java探索之string字符串的应用代码示例
- 12、弱电工程综合布线各种设备材料图解,必学
- 关于MAC装双系统的一些体会
- 零知识证明 - Groth16算法介绍
- 使用WebRTC实现语音通话,视频通话
- 推荐一个免费、轻巧、简单好用的Excel工具包
- SfxMCP基于GB28181/RTSP/ONVIF协议实现H5无插件直播方案 - sfxlab