时间:2015-01-24 来源:

程序设计--抽签问题 【研发管理】

        问题描述:你的朋友提议玩一个游戏:将写有数字的n个纸片放入口袋中div+css+js切图,你可以从口袋中抽取抽取4次纸片,div+css+js切图每次记下纸片的数字并将其放回口袋中.如果这4个数字的总和为m,就是你赢.你挑战了好几回,页面div重构结果一次也没有赢过psd切图html,于是怒而撕破口袋,手机div+css取出所有的纸片web外包,检查自己是否真的有赢的可能性.请你编写一个程序,web外包判断当纸片上的数字为k1,k2........kn时,div页面是否存在4次和为m的方案.如果存在则输出Yes,否则输出No.

       暴力解法:每一次抽取纸片共n种可能,div+css+js切图4次抽取共n的4次方中承接网站前端, int m, m, &n); printf("please input the value of m:\n"); scanf_s("%d", &k[i]); } bool re = existed(n, k); if (re) { printf("Yes\n"); } else { printf("No\n"); } system("Pause"); return 0; }          使用二分搜索进行优化:假设四次抽取的纸片数字分别为k[i],k[g],我们所需要做的事情就是剪裁是否存在 k[i]+k[j]+k[g]+k[h] = m.对等式进行变化可将问题转化为检查是否存在k[h],则对于最内层的循环可以利用一个二分查找来进行判断从而降低时间复杂度为O(n^3logn).

       首先将n^2个数字进行快排网页切图制作,利用两个指针分别定位在排序之后的数组的首和尾.如果两数之和大于m,向后移动头指针;如果相等返回true.时间复杂度为O(n^2), int d1, int n){ int l = 0, target = k[0]; while (true) { do { l++; } while (k[l] < target && l<r); do { r--; } while (k[r] > target); if (l < r) { swap(k, r); }else { break; } } swap(k, l); } bool binary_search(int n, int *k){ int l = 0, int m, n); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j ++) { for (int g = 0; g < n; g++) { int target = m - k[i] - k[j] - k[g]; if (binary_search(n, k)) { return true; } } } } return false; } int main(){ int n, k[MAX_N]; printf("please input the value of n:\n"); scanf_s("%d", &m); printf("please input the array of k:\n"); for (int i = 0; i < n; i++) { scanf_s("%d", m, k); if (re) { printf("Yes\n"); } else { printf("No\n"); } system("Pause"); }        第三种算法,div切图排版基于以上的思想我们可以继续进行优化将4个数字k[i],k[g],k[j]和k[g],每一组的和的情况是相同的psd切图html, int d1, int n){ int l = 0, target = k[0]; while (true) { do { l++; } while (k[l] < target && l<r); do { r--; } while (k[r] > target); if (l < r) { swap(k, r); }else { break; } } swap(k, l); } bool existed3(int n, int *k){ int kn = n*n; int ki = 0; int kk[MAX_N * MAX_N]; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j ++) { kk[ki] = k[i] + k[j]; ki++; } } quicksort(kk, r = kn-1; while (l <= r) { if (kk[l] + kk[r] > m) { r--; } else if (kk[l] + kk[r] == m) { return true; } else { l++; } } return false; } int main(){ int n, k[MAX_N]; printf("please input the value of n:\n"); scanf_s("%d", &m); printf("please input the array of k:\n"); for (int i = 0; i < n; i++) { scanf_s("%d", m, k); if (re) { printf("Yes\n"); } else { printf("No\n"); } system("Pause"); }

点击次数:4685
作者:
web前端行业资讯
Web new NewsList
英特尔宣布与法拉利跨界合作欲将AI技术用于赛车运动 ,,2018年01月11日甲骨文服务器出漏洞:攻击者用漏洞挖矿获取加密货币 ,,2018年01月11日用深度学习设计图像视频压缩算法:更简洁、更强大 ,,2018年01月11日Ubuntu内核和NVIDIA更新:修复Meltdown和Spectre两处漏洞 ,,2018年01月11日AntDesign3.1.1发布,阿里企业级UI设计语言 ,,2018年01月11日微信「跳一跳」带火小游戏,开发者如何快速上手? ,,2018年01月11日谷歌公布最新安卓系统份额:你用上奥利奥了么? ,,2018年01月11日腾讯开发出“3D音效”算法:普通耳机实现3D实时语音效果 ,,2018年01月11日谷歌工程师点赞中国程序员实现Node.js启动超4倍提速 ,,2018年01月11日三星电子总裁兼CE部门负责人金炫奭:万物互联时代到来 ,,2018年01月11日NVIDIA和大众合作建立智能驾驶助手 ,,2018年01月11日GIMPS项目报告发现已知最大素数 ,,2018年01月11日微软与生物技术公司开展AI驱动的血液检测同时诊断数十种疾病 ,,2018年01月11日微软跨平台移动开发工具套件HockeyApp宣布免费 ,,2018年01月11日《硅谷》里神乎其神的压缩技术,AI正在一点点做出来 ,,2018年01月11日LinuxMint19代号敲定为“Tara”预计2018年5月至6月期间发布 ,,2018年01月11日Facebook发布wav2letter工具包,用于端到端自动语音识别 ,,2018年01月11日开源数据库ArangoDB正进行约1156万美元股权融资 ,,2018年01月11日IntelCPU漏洞闹大:腾讯云紧急升级 ,,2018年01月11日2018年1月全球数据库排名:Redis夺回第八 ,,2018年01月11日Lyft将联手无人驾驶公司于CES上展示无人驾驶汽车 ,,2018年01月11日京东X无人超市首家社会门店开业:刷脸进、微信自动结算 ,,2018年01月11日担心被AI取代是杞人忧天?高晓松跨年演讲说的有几分对 ,,2018年01月11日免费授权技术许可Intel宣布在未来CPU中集成雷电3 ,,2018年01月11日算法决定你在社交媒体上看到的信息 ,,2018年01月11日谷歌安全博客披露“英特尔内核漏洞”更多细节 ,,2018年01月04日Postgres10开发者新特性 ,,2017年12月28日阿里巴巴、狗尾草、苏大联合论文:基于对抗学习的众包标注用于中文命名实体识别 ,,2017年12月28日柯洁的2017:20岁,与AI斗与人类斗,其乐无穷 ,,2017年12月28日如果机器人拥有痛觉,这个世界会有哪些不一样? ,,2017年12月28日不要占着茅坑不拉屎【编程语言】2015年05月15日Android通过Broadcast(广播)实现开机自启动 【移动开发】2015年02月11日TRIZ系列-创新原理-34-抛弃和再生部件原理【综合】2014年11月04日nginx和php-fpm通信使用unixsocket还是TCP,及其配置【移动开发】2015年06月17日Achildcontainerfailedduringstart 【综合】2014年12月11日坏狼php学习计数器实例代码2014年01月29日javascript获得CheckBoxList选中的数量2014年01月29日leetcode_95_UniqueBinarySearchTreesII 【综合】2015年03月18日CMake入门(二)【编程语言】2014年11月04日javascript获取图片颜色2014年01月29日js操作iframe的一些方法介绍2014年01月29日H323和华为协商的问题【综合】2015年02月04日053第561题 【编程语言】2015年07月15日POJ3020AntennaPlacement(二分图匹配)2014年11月04日2、微控制器选择 【系统运维】2015年09月06日字符串到字节数组和字节数组到字符串的转换(编码和解码问题)【编程语言】2015年06月01日动态栈的基本操作【综合】2014年11月04日如何在UbuntuQML应用中实现一个垂直的Slider【Web前端】2015年04月28日质数计算打印程序代码 【移动开发】2015年07月10日Hibernate框架(一)总结介绍 【编程语言】2014年11月17日最小生成树--Prime算法【Web前端】2014年12月30日目前最完整的Linux常用基础命令 【编程语言】2015年07月09日别人的跳槽情况是这样,我该去哪了【综合】2015年01月07日thrift和java交互案例和结果 【编程语言】2015年03月26日jCallout轻松实现气泡提示功能2014年01月29日如何在CSDN博客中显示图片? 【编程语言】2015年06月01日phpRecessframework入门 【移动开发】2015年03月16日为什么浏览器User-agent总是有Mozilla字样 【移动开发】2015年08月07日mysql5.5多实例部署 【编程语言】2014年12月01日比较SQLServer与Oracle、DB22014年01月29日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)