码迷,mamicode.com
首页 >  
搜索关键字:编程之美    ( 589个结果
编程之美——二进制数中1的个数
解法一:若二进制末尾为1,则除以2余1;int count(int a){ int num=0; while(a) { if(a%2==1) ++num; a=a/2; } return num;}解法二:使用移位操作相...
分类:其他好文   时间:2014-08-09 21:26:59    阅读次数:289
编程之美-子数组的最大乘积
给定一个长度为N的整数数组,只允许用乘法不允许用除法,计算N-1个数组合的乘积最大的一组,并写出算法的时间复杂度。long long s[MAXN];long long t[MAXN];int main(){ int n, i; cin >> n; for (i=1; i> A[i...
分类:其他好文   时间:2014-08-09 18:14:28    阅读次数:206
算法之--数组分割
题目来源:编程之美2.18 有一个无序的,元素个数为2n的正整数的数组,要求: 如何能把这个数组分割为元素个数为n的两个数组,使得两个子数组的和尽量接近。 解析:因为两个子数组的和是一定的,等于整个数组的和。现在要求使得两个字数组的和尽量的接近,也就意味着要从其中选出n个数使得这n个数的和尽可能的接近sum/2,不妨设为从小于sum/2的方向接近。于是,这就是一个01背包的问题: ...
分类:其他好文   时间:2014-08-07 15:48:00    阅读次数:197
八月份要干的事情
1.把c++primer读完。2.好好读一下编程之美这本书。3.开始读算法导论。4.仔细刷一下AC自动机的题,学一下二叉平衡树等数据结构。5.强化一下DP,搜索等题型。6.学一下python,也熟练一下java。7.多动脑,多思考。等到八月底再来补充这篇文章,看完成情况如何。
分类:其他好文   时间:2014-08-03 20:21:35    阅读次数:201
编程之美 2.1 求二进制数中1的个数
假设有数n 以前用除二取余法 复杂度logn 不多说 有一个logv的方法 v为1的个数 复杂度比logn小   int Count(int x) { int ans = 0; while(x) { x &= (x-1); ans++; } return ans; } 这里用到了位运算  x&(x-1)每次去掉一个1 举个例子  100010001000&(10...
分类:其他好文   时间:2014-07-31 20:55:27    阅读次数:225
编程之美笔记--第一章游戏之乐--1.2中国象棋将帅问题
后来一版作者又将最后一句改为:”要求在代码中只能使用一个字节存储变量“。我的解法:package android.zlb.java;/** * * @author zhanglibin * */public class TestXiangqi { public static void mai...
分类:其他好文   时间:2014-07-25 02:42:24    阅读次数:209
N个数的数组求N-1个数组合乘积最大的一组
1 /* 2 编程之美题,给定N个数的数组,只能使用乘法,不使用除法,找出N-1个数的乘积最大的一组,有两种方法,方法一:采用两个数组分别保存从左向右 3 和从又向左的两个乘积值,然后在扫描一次,求出最大乘积,空间换时间的方法。 4 方法二:通过分析这些数的性质,看有多少正数,多少负数,多...
分类:其他好文   时间:2014-07-25 02:25:04    阅读次数:267
编程之美之子数组之和的最大值以及扩展(可首尾相连)
情形一:不允许首尾相连 此情况很常见,方法是动态规划,编程之美的方法三给出了解法,这里就直接给出代码了 int maxSubSum(vector& data) { int length = data.size(); assert(length >= 0); int maxSum = data[length-1],startSum = data[length-1],begin = leng...
分类:其他好文   时间:2014-07-23 13:28:36    阅读次数:197
java实现二叉树层次遍历
层次遍历的算法参考自【编程之美】,源代码中使用了stl的vector实现动态扩展属性,在java里面List的特点很符合要求,故将此处改为ArrayList。...
分类:编程语言   时间:2014-07-22 22:38:35    阅读次数:427
编程之美之子数组之和的最大值以及扩展(可首尾相连)
情形一:不允许首尾相连 此情况很常见,方法是动态规划,编程之美的方法三给出了解法,这里就直接给出代码了 int maxSubSum(vector& data) { int length = data.size(); assert(length >= 0); int maxSum = data[length-1],startSum = data[length-1],begin = leng...
分类:其他好文   时间:2014-07-22 17:54:40    阅读次数:197
589条   上一页 1 ... 50 51 52 53 54 ... 59 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!