一道網易面試程式設計題

2021-08-17 18:49:27 字數 936 閱讀 6629

一條長為n的路,需要用路燈點亮,其中"."表示需要點亮的位置,"x"表示無需點亮的位置,假設燈立在i處,則它可以點亮i-1,i,i+1三個位置,問至少需要多少燈才能點亮整條路。

乍一看,肯定是動態規劃:

上**,敲了兩個小時的動態規劃:

#include #include #include #include using namespace std;

const int inf=10000000;

char a[105];

//到i點至少點燃了x個燈,最後乙個燈的位置為j的情況下,道路被點亮了

int dp[105][105];

int main()

}dp[0][0]=0;

for(int i=1;i<=len;i++)

else if(a[i]=='.')

}for(int j=0;j<=i-2;j++)

else}}

for(int j=0;j<=i-3;j++)

}else}}

}for(int i=0;i<=len;i++)

}return 0;

}

而實際上呢,如果不要那麼浮躁,再看看題目,你就會發現,這題目貪心就能解決。只要有"."在長度為3的範圍內,點亮乙個火把就可以了。

#include using namespace std;

char s[105];

int solve(char s, int n)

}return ans;

}int main()

從這道題目,也可以看出,乙個浮躁狀態的人是不會多想,有一點想法就會去義無反顧的走下去,浪費時間精力,並且在沒有想清楚的情況下就去否定別人的解決,想當然,並且急躁。

乙個好的程式設計人員,一定是會有乙個好的程式設計心境!這至關重要!

一道筆試程式設計題

有乙個無向圖,寫乙個函式判斷圖中是否存在迴路。函式原型如下 int ring int array,int n,int k n為圖中的頂點數,k為圖中的邊數,array其實是乙個k行2列的二維陣列,其中的元素比如 0,1 表示頂點0和頂點1之間存在邊。圖中如果存在迴路,函式返回1,否則返回0。不知哪位...

筆試程式設計題一道

一道華為程式設計題目,int a nsize 其中隱藏著若干0,其餘非0整數,寫乙個函式int func int a,int nsize 使a把0移至後面,非0整數移至陣列前面並保持有序 按原來順序 返回值為原資料中第乙個元素為0的下標。盡可能不使用輔助空間且考慮效率及異常問題,注釋規範且給出設計思...

一道程式設計題

題目要求 1 自己給定乙個集合 元數個數不得少於10個 2 讓使用者任一輸入乙個整數 3 根據使用者輸入的整數,移除集合中相應的元素 請根據示例找出元素移除的規律 4 運算結束後,集合中所有元素均被移除 示例 集合元素為 a b c d e f g h i j 使用者輸入的整數為 3 集合元素被移除...