编程与算法
swqqcs
这个作者很懒,什么都没留下…
展开
-
腾讯面试题
两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]...*a[N-1]/a[i];要求:1.不准用除法运算2.除了循环计数值,a[N],b[N]外,不准再用其他任何变量(包括局部变量,全局变量等)3.满足时间复杂度O(n),空间复杂度O(1)/* * 思路:设N = 5 * 首先循环赋值翻译 2012-04-10 11:53:06 · 941 阅读 · 0 评论 -
【背包问题】1分2分5分的硬币,组成1角,共有多少种组合
设1分个数为x,2分个数为y,5分的硬币个数为z,则1*x+2*y+5*z=10;5*z=10-x-2*y;即:z x对应可能的取值0 10 8 6 4 2 0(6个)1 5 3 1(3个)2 0(1个)总共个数为6+3+1=10.因此,按照规律,本题目组合总数为10以内的偶数+5以内的奇数+0以内的偶数某个偶数m以内的偶数个数(包括0)可以表示为m/2+1=(m+翻译 2012-10-12 16:01:08 · 1521 阅读 · 0 评论 -
伪代码及其实例讲解
伪代码(Pseudocode)是一种算法描述语言。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(Pascal,C,Java,etc)实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言。 介于自然语言与编程语言之间。 它以编程语言的书写形式指明算法的职能。相比于程序语言(例如Java, C++,C, Dephi 等等)它更类似自然语言。它是半角式化、不翻译 2012-10-29 21:07:18 · 38173 阅读 · 1 评论 -
C语言面试题_运算符限制
<br />题目1:写一个函数,求两个整数的之和,要求在函数体内不得使用+、-、×、÷。<br />思路:模拟二进制加法,先加不进位得A,然后算进位得B,然后(B<<1)+A即得到两个数之和。A可以由两个数的^得到,B可以有A&B得到。<br /> int plus(int num1,int num2)<br />{<br />if(num2==0) return num1;<br />return plus(num1^num2,(num1&num2)<<1);<br />}<br />题目:求1+2+…+原创 2011-03-25 22:04:00 · 516 阅读 · 0 评论