1. 美丽的项链(动态规划)

1. 题目描述

/**
链接:https://www.nowcoder.com/questionTerminal/e7e0230b12de4239a7f547a01d731522
来源:牛客网编程题]美丽的项链
妞妞参加了Nowcoder Girl女生编程挑战赛, 但是很遗憾, 她没能得到她最喜欢的黑天鹅水晶项链。
于是妞妞决定自己来制作一条美丽的项链。一条美丽的项链需要满足以下条件:1、需要使用n种特定的水晶宝珠2、第i种水晶宝珠的数量不能少于li颗, 也不能多于ri颗3、一条美丽的项链由m颗宝珠组成
妞妞意识到满足条件的项链种数可能会很多, 所以希望你来帮助她计算一共有多少种制作美丽的项链的方案。输入描述:输入包括n+1行, 第一行包括两个正整数(1 <= n <= 20, 1 <= m <= 100), 表示水晶宝珠的种数和一条美丽的项链需要的水晶宝珠的数量。接下来的n行, 每行两个整数li, ri(0 <= li <= ri <= 10), 表示第i种宝珠的数量限制区间。输出描述:输出一个整数, 表示满足限定条件的方案数。保证答案在64位整数范围内。
示例1
输入3 50 30 30 3
输出12
*/

2. 代码

二维数组dp[i][j],表示用i+1种宝石选择j个宝石的方案

设d[i][j]表示i+1种宝珠中取j个宝珠的方案数

k表示宝珠个数上限-宝珠个数下限

则d[i][j]=d[i-1][j]+d[i-1][j-1].....+d[i-1][j-k]

例如:当2种宝珠选2个时的方案数

d[1][2]=d[0][2]+d[0][1]+d[0][0](选择从第2种宝珠中取i个时的方案数等于从第1种宝珠中分别取2个,取1个,取0个的和)

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int m = sc.nextInt();int[][]limit = new int[n][2];for(int i=0; i<n;i++){limit[i][0] = sc.nextInt();limit[i][1] = sc.nextInt();}long[][]dp = new long[n][m+1];for (int i = 0; i < m+1; i++) {if(i>=limit[0][0] && i<=limit[0][1]){dp[0][i]=1;}}for (int i = 0; i < n; i++) {if(limit[i][0] <=0){dp[i][0]=1;}}for (int i = 1; i <n; i++) {for (int j = 1; j < m+1; j++) {dp[i][j] = 0;for (int j2 = 0; j2 <= j; j2++) {if(j2+limit[i][1]>=j && limit[i][0]+j2<=j){// li<=(j-j2)<=ridp[i][j] += dp[i-1][j2];}}}}System.out.println(dp[n-1][m]);}
}

2.多线程并发交替输出

1. 题目描述

/**
创建两个线程,其中一个输出1-52,另外一个输出A-Z。输出格式要求:12A 34B 56C 78D 依次类推
*/

2. 代码

import java.util.concurrent.locks.Condition;
import java.util.concurrent.locks.ReentrantLock;public class Main {public static void main(String[] args) {ReentrantLock lock = new ReentrantLock();Condition c1 = lock.newCondition();Condition c2 = lock.newCondition();new Thread(new Runnable(){@Overridepublic void run() {try {lock.lock();for (int i = 1; i <= 52; i++) {System.out.print(i);if(i%2==0){c1.signalAll();c2.await();}}} catch (Exception e) {// TODO: handle exception}finally{lock.unlock();}}}).start();new Thread(new Runnable(){@Overridepublic void run() {try {lock.lock();for (int i = 0; i < 26; i++) {System.out.print((char)('A'+i)+" ");c2.signalAll();if(i!=25){c1.await();}}} catch (Exception e) {// TODO: handle exception}finally{lock.unlock();}}}).start();}
}

转载于:https://www.cnblogs.com/haimishasha/p/11587554.html

搜狐畅游笔试题:1. 美丽的项链(动态规划) 2.多线程并发交替输出相关推荐

  1. 2021 搜狐畅游数据分析笔试题解析

    从牛客网上找到的搜狐畅游数据分析岗位的笔试题,精选了14道题目来给大家解析下,内容涵盖统计学.Excel.SQL.Python.业务理解. 统计学 Excel 业务理解 SQL Python 1统计学 ...

  2. 2021搜狐畅游数据分析笔试题解析

    公众号后台回复"图书",了解更多号主新书内容 作者:虾壳可乐 来源:可乐的数据分析之路 哈喽,大家好,我是可乐 很多同学留言想看数据分析类岗位的笔试/面试题目,今天这篇文章就是了. ...

  3. 游戏运维的最佳实践:搜狐畅游自动化运维之旅

    本文讲的是游戏运维的最佳实践:搜狐畅游自动化运维之旅[编者的话]本文作者见证了畅游游戏自动化运维平台的从无到有,通过在其中踩过的坑.解过的结,他向大家来阐述游戏运维的进阶之路.本文主要围绕畅游游戏管理 ...

  4. 周末北大学拳散记--搜狐畅游招聘

    每周日早上都去北大俄文楼学习吴式太极拳,已坚持快5年了. 这周日过去发现很多学生聚在一起,原来是搜狐畅游招聘 左边是程序员 左边第二列是3D程序员 右边是行政人员 大家看到没有?要想找到好工作的机会, ...

  5. 搜狐畅游2021届校园招聘简章

    搜狐畅游2021届校园招聘简章 造个世界,任你畅游 搜狐畅游2021届校园招聘开始啦!!!面向2021届毕业的校招生(发校招offer).游戏策划.开发.运营.职能.美术等多个大类,50余个岗位招聘开 ...

  6. 引擎TA校园招聘: 搜狐畅游 追光者计划简介

    伴随着游戏行业和图形学技术的飞速发展,越来越多的小伙伴想进入这个行业,从事引擎或图形方面的开发.现如今,大家获取资料的渠道比之前容易太多了,网上也涌现了非常好的课程和技术分享,比如Games101.2 ...

  7. 搜狐畅游薪酬公开,这是件好事么?-看点-虎嗅网

    搜狐畅游薪酬公开,这是件好事么?-看点-虎嗅网 搜狐畅游薪酬公开,这是件好事么?-看点-虎嗅网 搜狐畅游薪酬公开,这是件好事么? A-A+ 吴澍 2013-02-08 11:2126 搜狐 稍后阅读 ...

  8. Java面试之搜狐畅游COO面试之惨败

    Java面试之搜狐畅游COO面试之惨败 ##与COO面试 其实我对于搜狐畅游还是比较了解的,因为之前有朋友在那里工作过,后来由于自身发展原因回东北老家发展了,所以我也是片面的了解了一些,更主要的还是薪 ...

  9. 【金猿案例展】搜狐畅游——《小浣熊百将传》买量营销升级

    热云数据案例 本项目由热云数据投递并参与"数据猿年度金猿策划活动--2021大数据产业创新服务企业榜单及奖项"评选. 数据智能产业创新服务媒体 --聚焦数智 · 改变商业 搜狐畅游 ...

最新文章

  1. Levenshtein distance 编辑距离算法
  2. 4名矿工控制50%算力 去中心化是不是谎言?
  3. vue 如何判断两个数组相同_如何判断车头与障碍物的距离,教你两个办法,轻松靠墙10公分...
  4. Flink从入门到精通100篇(十八)-CentOS环境中搭建Flink分布式集群
  5. ACF:让控制台程序变得更为简单
  6. Network 【TCP/IP 四层模型】
  7. ZOJ 3702 Gibonacci number(数学推导题)
  8. Struct2中三种获取表单数据的方式
  9. JavaScript实现clearBit清除位算法(附完整源码)
  10. Android数据储存之SharedPreferences总结
  11. 网站服务器中病毒或被***怎么办?
  12. 冲击波内幕点滴 (转)
  13. 五一,我们来欣赏一篇宋词
  14. 互联网2018校招时间_供参考
  15. Java300集零基础自学
  16. 程序员们,再不行动就来不及了!
  17. C#报错“OS加载程序锁内执行托管代码,不要尝试在DllMain或映像初始化函数内运行托管代码”的解决方法。
  18. Unfair Tournament
  19. 用计算机画画内容,用计算机画画的教案
  20. 超好用的javascript 实现右加左减

热门文章

  1. OpenShift 4 - DevSecOps Workshop (1) - 安装 Workshop 环境
  2. OpenShift 4 Hands-on Lab (3) - 应用部署和切换策略(蓝绿、金丝雀和A/B、回滚)
  3. 计算机网络管理2018版,2018~2019学年度第二学期“计算机网络管理”专业技能竞赛火热进行中...
  4. dump命令linux,Linux shell dump 命令
  5. 鸿蒙系统受谷歌影响吗,华为鸿蒙系统,会受到人们的欢迎吗?
  6. Jdbc普通查询、流式查询、游标查询
  7. autojs toast 可以改变字体颜色吗_喃喃札记 | 你真的需要一部pad做笔记吗?
  8. 统计一行文本的单词个数_LeetCode68-文本左右对齐
  9. c++双向列表释放_Python列表生成式12个小功能,你常用哪几个?
  10. js php 中文乱码怎么解决_php中文乱码怎么解决