随堂练习
熬不了夜哇
这个作者很懒,什么都没留下…
展开
-
贪心-数轴覆盖
题目 给定一个有序数组arr,代表数轴上从左到右有n个点arr[0]、arr[1]...arr[n-1]。给定一个正数L,代表一根长度为L的绳子,求绳子最多能覆盖其中的几个点。 思路 1. 以数组中第一个点为绳子的开头,往后一个一个遍历,看能够覆盖多少个点。以第二个点为开头,往后依次遍历,记录覆盖的点的个数,依次遍历,寻找最大值。 2. 采用二分思想,当数组中每个点都为绳子的结尾,绳子长度为L时,寻找开头的位置。如arr[3]=9,L=9,寻找>=arr[3]-L 的最左边的点的位置。 3.原创 2022-05-03 21:58:53 · 1459 阅读 · 0 评论 -
随堂练习 旋转矩阵
题目: 有一个nxn整数矩阵,请编写一个算法,将矩阵顺时针旋转90度。 给定一个nxn的矩阵,和矩阵的阶数n,请返回旋转后的nxn矩阵。 输入: [[1,2,3],[4,5,6],[7,8,9]],3 输出: [[7,4,1],[8,5,2],[9,6,3]] 分析 Java代码: Java获取二维数组的行列长度 二维数组定义:int array[][] = new int[3][3]; 获取行数:int rowLength = array.length; 获取列数:i..原创 2022-05-02 08:39:20 · 213 阅读 · 0 评论 -
随堂练习 旋转词
如果一个字符串为str,把字符串的前面任意部分挪到后面形成的字符串叫str的旋转词。比如str=“12345”,str的旋转串有“12345”、“45123”等等。给定两个字符串,判断是否为旋转词。 数据范围: 输入描述: 输出包含三行,第一个两个整数n和m,分别表示两个字符串的长度。第二行和第三行各输入一个字符串。 输出描述: 如果两个字符串互为旋转词请输出“YES”,否则输出“NO”。 方法分析: 在string1后面加string1,只要string2是string1+string.原创 2022-03-15 14:06:45 · 97 阅读 · 0 评论