我的编程空间,编程开发者的网络收藏夹
学习永远不晚

真题算法考点

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

真题算法考点

钢板填坑问题
路面有n个坑,需要用m个钢板盖住
m个钢板钱不一样,尺寸不一样
 固定给出m个钢板,看怎么组合能用总费用最少的钢板盖住所有坑
例 
 2 3
  50 80
  50 5 90 3 80 4


结果1 7
给定2个坑,3个钢板
 每个坑的直径
 每个钢板的直径和费用且成对出现
 最后计算是第一个案例,最少使用的费用是7
思路是按费用排序,每次最少费用的钢板该直径最大的坑,保证这一个钢板肯定只能盖住这一个坑。这样后面的钢板
 也能对应盖一个坑
 3
  2 3
  50 80
  50 5 90 3 80 4
  3 5
  50 80 40
  50 5 79 3 70 4 75 7 40 5
  5 10
  50 40 50 60 50
  50 54 60 11 45 22 49 51 35 16 80 53 70 1 80 99 90 84 55 23
给定框架
package sasst.web;
import java.util.Scanner;
public class Solution {
 static int N,M;
   static int Hi[] = new int[1000];
   static int Si[] = new int[10000];
   static int Pi[] = new int[10000];
   public static void main(String[] args) {
    Scanner sc= new Scanner(System.in);
    int T = sc.nextInt();
    for(int test_case =1;test_case<=T;++test_case){
     N=sc.nextInt();
     M=sc.nextInt();
     for(int i = 0;i     Hi[i]=sc.nextInt();
     }
     for(int i =0; i     Si[i]=sc.nextInt();
      Pi[i]=sc.nextInt();
     }
     System.out.println();
     System.out.println("keng size ");
     for(int i = 0;i     System.out.print(Hi[i]+" ");
     }
     System.out.println();
     System.out.println("gangban ");
     
     for(int i =0; i     System.out.print(Si[i]+" "+Pi[i]+" ");
     }
     System.out.println();
    }
   }
  }


具体实现
 注意
 前面数组构造时的长度,改成N,M,而不是1000具体值,以防后面比较时数组中出现大量0影响排序结果
new时候的语句要在输入以后,而不是最上面声明
import java.util.Arrays;
 import java.util.Comparator;
 import java.util.Scanner;
public class Solut {
 static int N,M;
  static int Hi[];
  static int Si[];
  static int Pi[];
  static MtDate[] mtDate;
  public static void main(String[] args) {
   Scanner sc= new Scanner(System.in);
   int T = sc.nextInt();
   for(int test_case =1;test_case<=T;++test_case){
    N=sc.nextInt();
    M=sc.nextInt();
    Hi = new int[N];
    for(int i = 0;i     Hi[i]=sc.nextInt();
    }
    
    Si=new int[M];
    Pi=new int[M];
    mtDate = new MtDate[M];
    for(int i =0; i     Si[i]=sc.nextInt();
     Pi[i]=sc.nextInt();
     mtDate[i]=new MtDate();
     mtDate[i].Si = Si[i];
     mtDate[i].Pi = Pi[i];
    }
    Comparator mt = new MyT();
    Arrays.sort(mtDate,mt);
    Arrays.sort(Hi);
    int price = 0;
    for(int i=N-1;i>=0;i--){
     int t = getPrice(Hi[i]);
     if(t>0)price=price+t;
     else {price=-1; break;}
    }
    System.out.println();
    System.out.print(test_case+","+price);
    
    
   }
  }
  
   static int getPrice(int hhi)
  {
   for(int i=0;i    if(mtDate[i].Si>=hhi&&!mtDate[i].used){
     mtDate[i].used=true;
     return mtDate[i].Pi;
    }
   }
   return -1;
  }
 }
class MtDate{
  public int Si,Pi;
  public boolean used= false;
  
 }
class MyT implements Comparator{
  public int compare(MtDate o1,MtDate o2){
   if(o1.Pi    return -1;
   }else if(o1.Pi>o2.Pi){
    return 1;
   }else{
    return 0;
   }
  }
 }


20170713 真算法
查找避难所个数
1 2 3 7 8 9
2 9 8 6 5 2
2 3 2 5 6 7
1 2 3 2 6 8
2 3 1 5 7 9
如上面数组,每行值表示海拔高度,发大水时寻找紧急避难所,需要根据海拔高度判断
避难所的最大个数。
给定测试用例
5 5 7 数组的长和宽 7是洪水高度
然后找避难所时,避难所得海拔高度要高于即>洪水高度。符合要求的避难所必须是在其
上下左右至少一个方向里也有一个符合要求的避难所。同时重要的是还要找到避难所的最大
个数。比如这里洪水高度是7,那么8和9符合要求,但矩阵中有多个8和9,这是相当于有
三处避难所,而每个避难所的个数都是2,因此找出的避难所个数最大是2.可想如果矩阵
中有一处是8和9,10,另一处是8和9,那么最大避难所的个数是3而不是2.
自己的实现思路是双循环,每一个元素查找时判断前后左右四个方向是不是有挨着的。
如果判断这个值符合条件,就继续判断这个值得坐标和迁移符合要求的元素的值坐标
是不是挨着如果挨着计数器继续增加,不挨着计数器将为0,这样找出最大的count。
注意 寻找前一个坐标是要初始化prei=-1,prej=-1 因此第一个符合条件的值的坐标count++,prei=i,prej=j
以后符合条件值的坐标要判断该点坐标和前一个点坐标是否挨着再count++,且prei=i,prej=j




20170727
32位字符数,如10000000000000000000000000000000 和 00000000000000000000000000000001
左边的数中1可以向左或向右移动,问向哪边移动次数最少可以移动成为右边的数字
移动结果L 1 向左移动一次是右面数字
0000000000000000000000000010101 0000000000000000000000000000001
左面没法移动成右面所以结果是 -1


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

真题算法考点

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

真题算法考点

钢板填坑问题路面有n个坑,需要用m个钢板盖住m个钢板钱不一样,尺寸不一样 固定给出m个钢板,看怎么组合能用总费用最少的钢板盖住所有坑例 2 3 50 80 50 5 90 3 80 4结果1 7给定2个坑,3个钢板 每个坑的直径 每个
2023-06-03

计算机软考高级论文历年真题

  论文是软考高级的考试科目,也是很多考生觉得难度比较大的科目,编程学习网小编今天就给大家整理了计算机软考高级论文历年真题,希望能帮助考生们备考。  2017下半年信息系统项目管理师论文真题  2017上半年信息系统项目管理师论文真题  2017年系统分析师论文真题  2016年系统分析师论文真题  2017年网络规划设计
计算机软考高级论文历年真题
2024-04-18

H3C HSE 考试真题

青绿色突出显示题目是我考试碰到的,别的是以前碰到的,红色为正确答案: 1、  下列说法正确的是:A.Agent(代理)位于设备中,负责管理者与设备内部信息的交互B. SNMP网管模型是一个NMS结构的模型C. Agent是一个xxx的进程,
2023-01-31

PHP浮点数运算精度失真问题的深入分析

PHP作为一种脚本语言在Web开发中使用广泛,其灵活性和易用性受到众多开发者的青睐。然而,在使用PHP进行浮点数运算时,经常会遇到精度失真的问题,这给开发过程带来一定的挑战。本文将对PHP浮点数运算精度失真问题进行深入分析,并提供具体的代码
PHP浮点数运算精度失真问题的深入分析
2024-02-27

软件设计师算法基础及常见算法考点

  软件设计师算法基础及常见算法考点有哪些?为了方便考生及时有效的备考,编程学习网小编为大家精心整理了软考中级软件设计师算法基础及常见算法考试知识点,供大家参考和学习。如想获取更多计算机软件水平考试的模拟题及备考资料,请关注编程学习网网站的更新。  【考法分析】  1、本知识点的考查形式主要有:根据题干的情景描述,判断所使用的
软件设计师算法基础及常见算法考点
2024-04-18

软考「网工」备考资料看这里!历年真题、易混淆知识点……

  根据各省市发布的软考合格名单来看,2023上半年网络工程师的通过率普遍偏低。已报考下半年软考网工的考友表示:这么低的通过率,我已经开始瑟瑟发抖了。  不要慌!都是小场面~软考网工踏实备考还是可以通过的!为此,小编整理了《软考网络工程师备考资料汇总》免费送!心急的同学可以直接点击资料下载区领取完整备考资料!  一、易
软考「网工」备考资料看这里!历年真题、易混淆知识点……
2024-04-19

软考历年真题及答案

  备考软考高级/中级/初级,真题和模拟题的资料是必不可少的。下面分享的这份软考中级真题,希望能帮到你!  阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。  某公司中标了一个软件开发项目,项目经理根据以往的经验估算了开发过程中各项任务需要的工期及预算成本,如下表所示: 任务紧前任务工期PVAC乐观可能悲
软考历年真题及答案
2024-04-19

2018软考初级真题汇总

     很多考生关注2018软考初级真题,虽然2018下半年软考还没考试,但是上半年软考初级真题已经出来,编程学习网小编为大家汇总了软考初级各科目考试真题,要看答案的考生可以进入编程学习网在线题库查看答案。  以下为2018上半年软考初级真题汇总,想看答案与解析的考生可以点击进入编程学习网在线题库,
2018软考初级真题汇总
2024-04-18

考后发布2019年9月计算机一级考试真题及答案通知

2019年9月全国计算机一级考试真题及答案通知尊敬的编程学习网考友:  2019年9月全国计算机一级考试于9月21-23日举行,编程学习网衷心地祝愿各位考生成功通过考试!  编程学习网将在考后发布209年9月全国1计算机一级考试真题及答案,请广大考生收藏编程学习网计算机一级考试网。    编程学习网教育,拥有
考后发布2019年9月计算机一级考试真题及答案通知
2024-04-18

考后发布2019年9月全国计算机等考真题及答案通知

2019年9月全国计算机等级考试真题及答案通知尊敬的编程学习网考友:  2019年9月全国计算机等级考试于9月21-23日举行,编程学习网衷心地祝愿各位考生成功通过考试!   编程学习网将在考后发布2019年9月全国计算机等级考试真题及答案,请广大考生收藏编程学习网计算机等级考试网。    课课
考后发布2019年9月全国计算机等考真题及答案通知
2024-04-18

软件设计师中级考试真题,软考中级软件设计师历年真题

  软考的软件设计师考试将于5月27日至28日举行,那大家知道软件设计师考什么吗?考生们可以参考历年软考中级软件设计师真题,下面就是考试真题介绍,希望可以帮助到大家。  一、软考的软件设计师考什么  软件设计师共考两门,分别是计算机与软件工程知识和软件设计。其考试范围是软件工程知识和计算机科学基础知识。软件设计师考试采
软件设计师中级考试真题,软考中级软件设计师历年真题
2024-04-19

如何从历年真题中掌握网络管理员重要考点?

  网络管理员如何备考?网络管理员历年重要考点有哪些?今天,编程学习网软考就通过对网络管理员历年经典真题的讲解,帮助考生掌握网络管理员重要考点规律,并为考生带来相关的备考指导。  如何从历年真题中掌握网络管理员重要考点?今天编程学习网软考就带大家来了解。下面我们将从网络管理员的考情分析开始,再到网络管理员的历年经典真题介绍,同
如何从历年真题中掌握网络管理员重要考点?
2024-04-19

2021年软件设计师考点:算法基础及常见算法

  2021年软件设计师考试包含哪些知识点?今天编程学习网小编为大家整理了2021年软件设计师考点:算法基础及常见算法,希望对在备考软件设计师的考生会有帮助。  【考法分析】  本知识点的考查形式主要有:根据题干的情景描述,判断所使用的算法策略;判断算法相关描述是否正确;下午题也会考查根据题干说明和代码,判断算法策略。  
2021年软件设计师考点:算法基础及常见算法
2024-04-18

2010年9月全国计算机二级Access考试真题及答案

  2010年9月全国计算机二级Access考试已经结束,今天编程学习网小编为大家整理了2010年9月全国计算机二级Access考试真题及答案,供考生参考。      编程学习网小编为大家整理了2010年9月全国计算机二级Access考试真题,想知道答案和解析的考生可以进入编程学习网在线题库,估算自己
2010年9月全国计算机二级Access考试真题及答案
2024-04-18

2017软考程序员真题汇总

摘要: 很多考生在备考2018年软考程序员考试,编程学习网小编为大家汇总了2017软考程序员真题,供考生们备考练习。  软考程序员包含基础知识和应用技术两个考试科目,分别在上午和下午考试,考试时间均为150分钟。以下为2017年软考程序员考试真题,供大家参考。   2017上半年程序员考试真题  201
2017软考程序员真题汇总
2024-04-18

计算机软考考点在哪?

      计算机软考考点在哪?报名了软考在哪里参加考试呢?由于各地区每年软考报名人数不同,因此考试地点安排也会有所变动。  计算机软考考点一般是根据报名人数来安排,由于软考有多个级别多个资格考试,而不同级别的考试科目也有所不同,因此软考办一般会根据各资格的报名人数来安排考试地点。如果是报
计算机软考考点在哪?
2024-04-18

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录