第一题是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)相关推荐

  1. python数据挖掘面试题_数据挖掘150道笔试题

    作者:白宁超 2016年10月16日13:44:06 摘要:正值找工作之际,数据挖掘150道面试题涵盖很多基础知识点,如果你针对求职提前针对性准备,可以以此为为参照检查自己水平,如果你不为求职,也可以 ...

  2. python数据分析笔试题_数据分析岗Python笔试题

    我整理了数据分析师岗的Python笔试题,主要涉及到用Python完成数据处理和分析的内容.自己做了一遍,供大家学习思考. 一.数据处理题 1.将Excel工作簿 "Test.xlsx&qu ...

  3. 艺龙java面试题_艺龙2018秋招Java笔试题

    在牛客做了那么多题,终于轮到我分享了~~这是我做过的艺龙的Java笔试题哦~~ 单选题 1.设有以下递归函数: int f(int m,int n) { if(m==0) { return n+1; ...

  4. java 多线程 并发 面试题_最常见的15个Java多线程,并发面试问题

    假设你有三个线程T1,T2,T3.你如何能保证线程T2在线程T1后运行,T3在T2后运行 这个线程面试问题大多是在第一轮或电话筛选轮次中会被问到的,这个多线程问题的目的是检查候选人对"joi ...

  5. java中级职称考试试题_Java中级开发工程师笔试题及答案2016

    Java中级开发工程师笔试题及答案2016 java中级工程师考试试题你做了吗?下面随yjbys小编一起来看看最新Java中级开发工程师笔试题及答案,仅供考生参考! 1) 描述Web Service的 ...

  6. Java SE 基础部分经典100道笔试题

    这100道题的范围主要是Java SE部分,正在学习Java SE的同学可以做一下,巩固一下学习的知识,也比较适合准备面试的同学复习使用.本题有90道选择题和10道填空题,选择题大部分是单选题,少数为 ...

  7. java俄罗斯方块视频_[VIP视频]【A0233】java面对对象编程-俄罗斯方块视频教程 高清视频 百度云 百度网...

    Java视频教程名称:java面对对象编程-俄罗斯方块视频教程  俄罗斯方块视频教程 $ X0 X1 Z: W4 P3 T  e. m3 q百度网盘下载链接: . M% x- I- V5 p( J 游 ...

  8. 中软国际python机试题_中软国际笔试试题

    中软国际校园招聘笔试试题 考试范围: 1 .逻辑推理题(共 20 分) 2 .开发技术题(共 60 分) 3 .软件工程知识题(共 20 分) 考试要求: 1 .考试时间为 60 分钟,每个人独立完成 ...

  9. 中软python机试_中软国际python机试题_中软国际笔试试题

    考试范围: 1 .逻辑推理题(共 20 分) 2 .开发技术题(共 60 分) 3 .软件工程知识题(共 20 分) 考试要求: 1 .考试时间为 60 分钟,每个人独立完成考试 2 .须在" ...

  10. java笔试题大全带答案_java笔试题大全带答案经典11题

    java笔试题大全带答案(经典11题) 1.不通过构造函数也能创建对象吗() A. 是 B. 否 分析:答案:A Java创建对象的几种方式(重要): (1) 用new语句创建对象,这是最常见的创建对 ...

最新文章

  1. php多选框怎么传值,tp3.2如何处理多选框传参和判断状态
  2. linux可以远程装机吗,linux 远程装机
  3. 使用Silverlight for Embedded开发绚丽的界面(2)
  4. 代码编译delphi条件编译
  5. 主成分分析(Principal components analysis)-最大方差解释
  6. 一致性算法- Paxos
  7. 对数函数定义域和值域为r_对数函数
  8. 解析函数论 Page 8 $f(x)$在$x_0$处解析的充要条件
  9. 探讨一种 Java 实现分组的方法
  10. 悲剧:金山毒霸官网被黑客攻破
  11. Arduino USBASP烧录之ICSP模式
  12. android人脸情绪识别器,Emotion Recognition微软人脸情绪识别器
  13. TencentOS Server编译安装nginx(1.22.0)
  14. 嵌入式专业英文词汇汇总
  15. 【从零开始学AR】:开发工具选择与Unity安装(准备工作)
  16. 网络创业者莱恩-福克斯:最后一分钟的奇迹
  17. 经典同步时序逻辑电路分析汇总(第六道)(同步四进制可逆加减法计数器)
  18. c语言利用rand()函数生成一组不重复的随机数
  19. 命令行生成、运行及调用jar包
  20. 年轻代和年老代分配过大 或 过小

热门文章

  1. 含论文+辩论PPT+源码等]微信小程序ssm社区心理健康服务平台+后台管理系统
  2. 图片多样化切换_您想让您的工作室更多样化吗?
  3. 黑板报首期(080527)优秀文章推荐
  4. java字符串取反_Java探索之string字符串的应用代码示例
  5. 12、弱电工程综合布线各种设备材料图解,必学
  6. 关于MAC装双系统的一些体会
  7. 零知识证明 - Groth16算法介绍
  8. 使用WebRTC实现语音通话,视频通话
  9. 推荐一个免费、轻巧、简单好用的Excel工具包
  10. SfxMCP基于GB28181/RTSP/ONVIF协议实现H5无插件直播方案 - sfxlab