2021秋招網易筆試

2021-10-08 23:41:23 字數 2720 閱讀 4529

給定乙個字串 s,你可以通過在字串前面新增字元將其轉換為回文串。找到並返回可以用這種方式轉換的最短回文串。

示例 1:

輸入: 「aacecaaa」

輸出: 「aaacecaaa」

示例 2:

輸入: 「abcd」

輸出: 「dcbabcd」

把要處理的字元分成回文串和非回文串,再將非回文串逆置加到頭部。要注意,已經移動出最長回文串邊界的情況,這種情況就需要遞迴處理了。

**:

class

solution

if(i == n)

return s;

string remain_rev = s.

substr

(i, n)

;reverse

(remain_rev.

begin()

, remain_rev.

end())

;//為什麼要遞迴,因為i可能已經移動出了最長字串的範圍

return remain_rev +

shortestpalindrome

(s.substr(0

, i)

)+ s.

substr

(i);

//ababbcefbbaba}}

;

力扣這個題和網易的c++筆試題第乙個類似,只是乙個是在前面插入,乙個是在後面插入。

#include

using

namespace std;

int a[20]

;int suffixsum[20]

;int n;

int minloss;

void

dfs(

int first,

int second,

int cost,

int index)

if(first == second)

minloss =

min(minloss, suffixsum[index]

+ cost);if

(abs

(first - second)

> suffixsum[index]

)return

;// 給first,給second,扔掉

dfs(first + a[index]

, second, cost, index +1)

;dfs

(first, second + a[index]

, cost, index +1)

;dfs

(first, second, cost + a[index]

, index +1)

;}intmain

(int argc,

char

const

*ar**)

return0;

}

dp解法:

#include

using

namespace std;

#define endl '\n'

typedef

long

long ll;

typedef pair p;

const

int inf=

0xffffffff

;int dp[20]

[1500005];

intmain()

dp[0]

[0]=

0;for(

int i=

1;i<=n;i++)}

printf

("%d\n"

,sum-dp[n][0

]);}

return0;

}

思路:

#include

#include

#include

#include

using

namespace std;

intgetmincost

(vector<

int>a, vector<

int>b)

return dp.

back()

;}string gettime

(int cost)

string sh =

to_string

(h);

if(sh.

size()

<

2) sh =

"0"+ sh;

string sm =

to_string

(m);

if(sm.

size()

<

2) sm =

"0"+ sm;

string ss =

to_string

(s);

if(ss.

size()

<

2) ss =

"0"+ ss;

return sh +

":"+ sm +

":"+ ss +

" "+

(flag ?

"pm"

:"am");

}int

main()

}

ps: dp真的是需要多多練習啊

網易2021秋招演算法筆試排隊問題(python)

題目 現在有n個人排隊買票,已知早上8點開始賣,每個人有兩種買法,單獨買第i個人花費a i 秒 和後面乙個人一起買,第i和第i 1個人一共花費b i 秒。求最早什麼時候可以結束排隊 輸入2 樣例組數 2 排隊人數 20 25 a i 40 b i 1 排隊人數 8 a i 輸出08 00 40 am...

2021網易秋招筆試題(Android開發)

校招的筆試題通常是4道程式設計題,時間為2個小時,每題25分。2021秋招筆試題總結如下,包含問題和 實現。解析 這個很簡單,用python的話只需要用dict統計出每個單詞的個數然後計算出頻率大於1 的單詞,儲存輸出。用dict統計數字 如下 d key d.get key,0 1 d是字典型別的...

2021秋招部分筆試題

2021秋招部分筆試題彙總 企業提供原題 00 00 28 4 6 程式設計題 查詢二叉搜尋樹的葉子節點 時間限制 c c 1秒,其他語言2秒 空間限制 c c 32m,其他語言64m 給乙個二叉查詢樹 binary search tree 的前序遍歷結果陣列,列印出所有的葉子節點。輸入描述 輸入為...