
编程之美
little_ppj
这个作者很懒,什么都没留下…
展开
-
编程之美-1.13两堆石头问题
可以一次从两堆石头里取相同多,也可以只在一堆里取任意多。最快捷的方法是用通项公式,对于我来说,需要把通项公式背下来a=(1+sqrt(5))/2;b=(3+sqrt(5))/2;int i=n;while(i>1){ if( floor(a*i)==n&&floor(b*i)==m ) return false; i--;}return tru...原创 2018-07-10 10:05:02 · 495 阅读 · 0 评论 -
编程之美第二章
1、计算二进制数中1的个数: int num=0;while(v){ v&=(v-1); num++;}2、2.4. 1的数目输入n,写出1到n的所有1的个数#include<iostream>using namespace std;long long Sums(long long n){ long long icount=0; long lo...原创 2018-07-11 21:53:04 · 278 阅读 · 0 评论 -
求子数组之和的最大值 编程之美2.14和LeetCode53题
求子数组之和的最大值有很多种,最笨的方法是直接所有循环寻找,还有分治的方法,但下面的方法觉得好好用,关键部分就是if(cuirsum<=0)cursum=0cursum 来查找,ans来记录目前的最大值int maxSubArray(vector<int>& nums) { int cursum=0,ans=INT_MIN; fo...原创 2018-08-10 21:17:08 · 175 阅读 · 0 评论