笔试真题

Posted jetblock

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了笔试真题相关的知识,希望对你有一定的参考价值。

1.构造回文

题目:

给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢?输出需要删除的字符个数。

思路:利用回文的性质,利用动态规划求原字符串和其反串的最大公共子序列。


2.筛选法求素数

N = int(input())

NList = [i for i in range(2,N+1)]
PrimeList = []

for i, num in enumerate(NList):
    if num == 0:
        continue
    for j in range(i+1, len(NList)):
        if NList[j]==0:
            continue
        elif NList[j]%NList[i]==0:
            NList[j] = 0
for i in NList:
    if i != 0:
        PrimeList.append(i)

print(PrimeList)

算法举例

  • 单源最短路径中的Dijkstra算法 ---- 贪婪算法
  • 最小生成树的Prim算法 ---- 贪婪算法
  • 最小生成树的Kruskal算法 ---- 贪婪算法
  • 计算每对顶点最短路径的Floyd-Warshall算法 ---- 动态规划
  • 字符串匹配中的KMP算法 ---- 动态规划

动态规划算法的基本步骤

  • 根据计算最优值得到的信息,构造最优解
  • 递归的定义最优解
  • 找出最优解的性质,并刻画其结构特征
  • 自底向上的方式填表计算出最优值

以上是关于笔试真题的主要内容,如果未能解决你的问题,请参考以下文章

网易笔试——算法笔试真题

《PHP面试笔试真题库》——PHP面试的好帮手

企业面试笔试攻略题解

工商银行历年考试真题 银行校园招聘考试笔试资料

《PHP程序员面试笔试真题解析》——新书上线

笔试真题