ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

ÌÚѶ2012Äê4Ô±ÊÊÔÌ⸽¼ÓÌâ
2014-11-23 22:22:31 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:3931´Î
Tags£ºÌÚѶ 2012Äê 4Ô ÊÔÌâ ¸½¼Ó

ÎÊÌâÃèÊö£ºÁ½¸öÊý×é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£©


̸̸×Ô¼ºµÄ½âÌâ˼·°É£¬Äõ½ÕâµÀÌâµÄʱºò£¬ÎÒÊ×ÏÈ×¢Òâµ½ÌâÄ¿µÄ3¸öÒªÇó£º1.²»×¼Óóý·¨2.²»ÔÊÐíʹÓöîÍâ±äÁ¿£»3.o(n)µÄʱ¼ä¸´ÔӶȡ£ÓÉÓÚ²»ÔÊÐíʹÓöîÍâ±äÁ¿£¬ËùÒÔÎÒÏëµ½Ó¦¸ÃÊÇÔÚb[n]ÉÏ×öÎÄÕ£¬½áºÏ²»ÄÜÓóý·¨£¬ÎÒÏëµ½A^A=0,ÓÚÊÇÓÖA^A&1 = 1¡£ÔÙ³ËÒÔʣϵĸ÷¸ö³Ë×Ӿ͵õ½b[i]¡£


±¾À´ÒÔΪµ½ÕâÀï¾Í½áÊøÁË£¬ºóÀ´·¢ÏÖÕâ¸ö·½·¨ÓÐÎÊÌ⣬ÒòΪÕâÑùÖ»½â¾öÁ˲»Óóý·¨×ö/a[i]µÄÎÊÌ⣬ûÓнâ¾öÈçºÎ³ËÉϳýÁËa[i]ÒÔÍâµÄÊýµÄÎÊÌâ¡£¼ÌÐø¹Û²ìb[i]µÄ½á¹¹·¢ÏÖ£¬b[i]¿ÉÒÔд³ÉBaBb,ÆäÖÐBa=a[0]*a[1]¡­*a[i-1],Bb=a[i+1]*a[i+2]¡­*a[n-1]£¬×ÔÈ»µÄ¾ÍÁªÏëµ½ÁË·Ö±ð´ÓÍ·ºÍβ²¿±éÀúa[n]¼ÆËãBa,BbµÄ·½·¨£¬»°²»¶à˵£¬´úÂëÈçÏ£º


1 void foo(int a[],int b[],int n){
2 int i;
3 b[0] = 1;//ÓÃb[0]×ö¸¨Öú±äÁ¿;
4 for(i = 1; i < n; i++)
5 {
6 b[0] *= a[i - 1];//´ÓÇ°Íùºó³ËµÃµ½Ba;
7 b[i] = b[0];
8 }
9 b[0] = 1;
10 for(i = n-2; i > 0; i¨C)
11 {
12 b[0] *= a[i + 1];//´ÓºóÍùÇ°³ËµÃµ½Bb;
13 b[i] *= b[0];
14 }
15 b[0] *= a[1];//²»ÄÜÍü¼ÇËã³öb[0];
16 for(i = 0; i < n; i++)
17 {
18 cout << b[i] << ¡± ¡°;
19 }
ÓÉÕâµÀÌâÁªÏëµ½Á½ÀàÌâÐÍ£º


Ò».¶ÔÔËËã·½·¨ÓÐÏÞÖƵÄÌâ¡£


ÀýÈç ÌâÄ¿1£º²»Óó˷¨»òÕß¼Ó·¨½«Ò»¸öÊýNÔö¼Ó8/7±¶.


˼ ·£º¿¼Âǵ½8Ϊ2µÄ±¶Êý£¬¶ÔÒ»¸öÊý³ËÒÔ/³ýÒÔ2¾ÍÊǶÔÆä½øÐÐ×ó/ÓÒÒÆ£¬ÓÚÊÇÓÐ


Ôö¼Ó 8±¶£ºn<<3; Ôö¼Ó7±¶(n<<3)-n;


ÌâÄ¿2£ºÇó1+2+¡­+n£¬ÒªÇó²»ÄÜʹÓó˳ý·¨¡¢for¡¢while¡¢if¡¢else¡¢switch¡¢caseµÈ¹Ø¼ü×ÖÒÔ¼°Ìõ¼þÅжÏÓï¾ä¡£


˼ ·£º1+2+¡­+n=(n^2+n)/2,ÓÉÉÏÌâÖªµÀn/2¿ÉÒÔͨ¹ýÒÆλÔËËã»ñµÃ£¬Ö»ÒªÏë°ì·¨Çón^2¡£Ä£ÄâÊÖËã³Ë·¨µÄ˼·£¬²»Äѵóö½á¹û¡£


#define T(X,Y,i)((Y & 1< int foo(int n)
{
int i,r=n;
T(r,n,0);T(r,n,1);T(r,n,2);T(r,n,3);¡­T(r,n,31);
return r>>1;
}
ÕâÀàÌâµÄµäÐÍ˼·ÊÇ£¬ÔÚ²»ÄÜʹÓÃËÄÔòÔËËã·ûʱ£¬¿¼ÂÇÊýÔÚ¼ÆËã»úÖнøÐÐÔËËãµÄ·½Ê½£¬¿ÉÒÔʹÓÃÒÆ룬Ó룬»ò£¬Òì»òµÈµÈλÔËËã·ûµÃµ½½á¹û¡£


¶þ£º¿ÉÒÔ¶ÔËùÇó»òËù´¦ÀíÄÚÈݷֿ鿼ÂǵÄÎÊÌâ¡£


ÀýÈ磺


ÌâÄ¿£º¶¨Òå×Ö·û´®µÄ×öÐýת²Ù×÷£º°Ñ×Ö·û´®Ç°ÃæµÄÈô¸É¸ö×Ö·ûÒƶ¯µ½×Ö·û´®Î²²¿¡£


Èç°Ñ×Ö·û´®abcdef×öÐýת2λµÃµ½×Ö·û´®cdefab¡£


ʵÏÖ×Ö·û´®×öÐýתµÄº¯Êý£¬ÒªÇó¶Ô³¤¶ÈΪnµÄ×Ö·û´®²Ù×÷µÄʱ¼ä¸´ÔÓ¶ÈΪo(n)£¬¿Õ¼ä¸´ÔÓ¶ÈΪo(1).


˼·£º²»·ÁÁîS=abcdef£¬ÓÚÊǸù¾ÝÌâÄ¿ÒªÇó¿ÉÒÔ½«S»®·ÖΪSa=ab,Sb=cdef;ÌâĿת»¯Îª£º½«S=SaSb,ÖеÄSaSb¼´½»»»Î»Öã¬ÊDz»ÊÇ˲¼ä¼òµ¥Á˺ܶࡣ´úÂëÈçÏ£º


char* LeftRotateString(char* pStr, unsigned int n)
{
if(pStr != NULL)
{
int nLength = static_cast(strlen(pStr));
if(nLength > 0 && n > 0 && n < nLength)
{
char* pFirstStart = pStr;
char* pFirstEnd = pStr + n ¨C 1;
char* pSecondStart = pStr + n;
char* pSecondEnd = pStr + nLength ¨C 1;


// reverse Sa
ReverseString(pFirstStart, pFirstEnd);
// reverse Sb
ReverseString(pSecondStart, pSecondEnd);
// reverse S
ReverseString(pFirstStart, pSecondEnd);
}
}


return pStr;
}
void ReverseString(char* pStart, char* pEnd)
{
if(pStart != NULL && pEnd != NULL)
{
while(pStart <= pEnd)
{
char temp = *pStart;
*pStart = *pEnd;
*pEnd = temp;


pStart ++;
pEnd ¨C;
}
}
}


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£ºÄÚ´æй¶ºÍÄÚ´æÒç³öÊÇʲô£¿ËûÃÇ.. ÏÂһƪ£ºÄã¶ÔIPv6Á˽âÂ𣿠Çë¼òµ¥½éÉÜÒ»ÏÂ

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

C/C++ÃæÊÔÌâÄ¿