Skip to content

东南大学计算机学院,软件学院,人工智能学院 算法设计与分析上机实验

Notifications You must be signed in to change notification settings

TomPan-1901/AlgorithmClass

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algorithm

介绍

这是算法设计与分析课程的上机实验。

  • 1002

    两重循环可过

  • 1003

    按照冒泡排序的定义,扫描第一遍即可

  • 1004

    使用递归进行归并排序,需要一个变量来记录递归过程中的层数,当层数为3时输出该段的数据

  • 1006

    按堆排序定义操作即可

  • 1007

    和1026类似,作业也写过, 考虑最后一个数会和哪些数组合, 写出动态规划的公式即可, 不需要使用高精度,unsigned long long可以过

  • 1008

    1008的第一问和1009一样,第二问需要用到Dilworth分割定理:要求出最长不上升子序列的最少划分数,只需要求出这个序列中最长上升子序列的长度,这就转化成了和1009完全类似的问题。

  • 1009

    本质是找出序列中的一个最长不上升子序列,动态规划的数组dp[i]记录末位为data[i]时最长不上升子序列的长度。

  • 1010

    二分搜索的子问题应该划分成search(left,mid-1)和search(mid+1,right),如果频繁提示Wrong Answer,很可能是这里出现问题

  • 1013

    这道题使用$O(n^2)$的方法会超时,正确的做法是使用归并排序,在归并的过程中得到逆序数,见 https://leetcode-cn.com/problems/shu-zu-zhong-de-ni-xu-dui-lcof/ ,LeetCode官方的题解非常详细

  • 1014

    动态规划即可,LeetCode上有一样的题目,见 https://leetcode-cn.com/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof/

  • 1016

    我用哈希表过了,不知道暴力解法行不行

  • 1017

    看清题目的本质,就是求给定排列的逆序数,只需要把1013的代码复制过来就可以过

  • 1018

    如果要求背包问题恰好装满,需要把动态规划数组里面的值初始化为$-\infty$,其他都和1019一样

  • 1019

    动态规划,解法见教材

  • 1020

    动态规划,解法见教材

  • 1021

    动态规划,解法见教材

  • 1022

    动态规划,解法见教材

  • 1025

    动态规划,和导弹拦截一样。

  • 1026

    动态规划,和1007一样,只需要把计算数组中一段数的函数修改一下就可以。

  • 1030

    直接暴力贪心,复杂度是$O(n^2)$,会超时,需要线性复杂度的算法

  • 1040

    这题数据结构课上好像做过但是没讲,见 https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/

  • 1040

    正常进行拓扑排序即可

  • 1041

    将两个数组归并然后输出中位数即可,不需要设置输出的小数位数,不要被样例误导

About

东南大学计算机学院,软件学院,人工智能学院 算法设计与分析上机实验

Topics

Resources

Stars

Watchers

Forks

Languages