编程练习题
whydeboke
这个作者很懒,什么都没留下…
展开
-
941. 有效的山脉数组
941. 有效的山脉数组给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组: A.length >= 3 在 0 < i < A.length - 1 条件下,存在 i 使得: A[0] < A[1] < ... A[i-1] < A[i] A[i] > A[i+1] > ... > A[A.lengt...原创 2020-05-23 11:00:35 · 177 阅读 · 0 评论 -
用栈判断是否是回文
用栈判断是否是回文栈:仅在表尾进行插入和删除操作的线性表。先进后出。用例:1.“上海自来水来自海上”2.“1234321”3.“123321”4.“112233”5.“123332”思路:直接入栈一半的元素,若字符串长度为基数,则跳过中间元素,对下一个元素进行判断,若字符串长度为偶数,则直接对下一个元素进行判断,若当前字符与栈顶元素相等,则相消,弹栈,若当前字符与栈顶元素不相等,则直接退出循环,判断不是回文。直到循环结束,若当前栈为空,说明该字符串是回文。代码如下:原创 2020-05-17 20:54:04 · 9941 阅读 · 0 评论 -
力扣数组面试题 10.05
面试题 10.05. 稀疏数组搜索稀疏数组搜索。有个排好序的字符串数组,其中散布着一些空字符串,编写一种方法,找出给定字符串的位置。示例1:输入: words = ["at", "", "", "", "ball", "", "", "car", "", "","dad", "", ""], s = "ta"输出:-1说明: 不存在返回-1。示例2:输入:words...原创 2020-03-13 10:52:38 · 204 阅读 · 0 评论 -
力扣面试题01.09号题
面试题 01.09. 字符串轮转字符串轮转。给定两个字符串s1和s2,请编写代码检查s2是否为s1旋转而成(比如,waterbottle是erbottlewat旋转后的字符串)。示例1:输入:s1 = "waterbottle", s2 = "erbottlewat"输出:True示例2:输入:s1 = "aa", "aba"输出:False提示: 字...原创 2020-03-09 16:25:22 · 132 阅读 · 0 评论 -
力扣数组189号题
189. 旋转数组给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1...原创 2020-03-05 17:20:58 · 131 阅读 · 0 评论 -
力扣数组1103号题
1103. 分糖果 II排排坐,分糖果。我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友。给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 n 颗糖果。然后,我们再回到队伍的起点,给第一个小朋友 n + 1 颗糖果,第二个小朋友 n + 2 颗,依此类推,直到给最后一个小朋友 2 * n 颗糖果。重...原创 2020-03-05 15:02:10 · 195 阅读 · 0 评论 -
力扣数组面试题 10.01. 合并排序的数组
面试题 10.01. 合并排序的数组定两个排序后的数组 A 和 B,其中 A 的末端有足够的缓冲空间容纳 B。 编写一个方法,将 B 合并入 A 并排序。初始化 A 和 B 的元素数量分别为 m 和 n。示例:输入:A = [1,2,3,0,0,0], m = 3B = [2,5,6], n = 3输出:[1,2,2,3,5,6]解题思路:从每个数组...原创 2020-02-28 23:18:27 · 221 阅读 · 0 评论 -
力扣数组66号题
66. 加一给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示...原创 2020-02-28 11:03:01 · 154 阅读 · 0 评论 -
力扣数组169号题
169. 多数元素给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例1:输入: [3,2,3]输出: 3示例2:输入: [2,2,1,1,1,2,2]输出: 2解题思路:众数,顾名思义,也就是数组中最多的数字,且在数组中最少已有一半的数字是...原创 2020-02-27 22:05:26 · 127 阅读 · 0 评论 -
力扣数组283号题
283. 移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。解题思路:首先定义一个指针sum,然后从第二个数开始来判断。如果第i个数不等于0,而指针sum等于0,那么交换两个数的位置...原创 2020-02-25 15:32:45 · 169 阅读 · 1 评论 -
力扣数组674号题
674. 最长连续递增序列给定一个未经排序的整数数组,找到最长且连续的的递增序列。示例 1:输入: [1,3,5,4,7]输出: 3解释: 最长连续递增序列是 [1,3,5], 长度为3。尽管 [1,3,5,7] 也是升序的子序列, 但它不是连续的,因为5和7在原数组里被4隔开。示例 2:输入: [2,2,2,2,2]输出: 1解释: 最长连续递增序列是 [2], ...原创 2020-02-25 00:07:15 · 146 阅读 · 0 评论 -
力扣数组724号题
724. 寻找数组的中心索引给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法。我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和。如果数组不存在中心索引,那么我们应该返回 -1。如果数组有多个中心索引,那么我们应该返回最靠近左边的那一个。示例 1:输入:nums = [1, 7, 3, 6, 5, 6]输出: ...原创 2020-02-24 22:00:04 · 134 阅读 · 0 评论 -
力扣数组905号题
905. 按奇偶排序数组给定一个非负整数数组 A,返回一个数组,在该数组中,A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出:[4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。提示:1 <= A.length <= 5000 0 <...原创 2020-02-23 15:10:31 · 182 阅读 · 0 评论 -
力扣数组1013号题
1013. 将数组分成和相等的三个部分给定一个整数数组 A,只有我们可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false。形式上,如果我们可以找出索引 i+1 < j 且满足 (A[0] + A[1] + ... + A[i] == A[i+1] + A[i+2] + ... + A[j-1] == A[j] + A[j-1] + ... + A[A.lengt...原创 2020-02-23 14:44:39 · 126 阅读 · 0 评论 -
力扣数组1295号题
1295. 统计位数为偶数的数字给你一个整数数组nums,请你返回其中位数为偶数的数字的个数。示例 1:输入:nums = [12,345,2,6,7896]输出:2解释:12 是 2 位数字(位数为偶数)345 是 3 位数字(位数为奇数) 2 是 1 位数字(位数为奇数)6 是 1 位数字 位数为奇数)7896 是 4 位数字(位数为偶数) 因此只有 12...原创 2020-02-23 12:04:57 · 115 阅读 · 0 评论 -
力扣数组1313号题
数组1313号题1313. 解压缩编码列表给你一个以行程长度编码压缩的整数列表 nums 。考虑每对相邻的两个元素 [a, b] = [nums[2*i], nums[2*i+1]] (其中 i >= 0 ),每一对都表示解压后有 a 个值为 b 的元素。请你返回解压后的列表。来源:力扣(LeetCode)链接:https://leetcode-cn.com/probl...原创 2020-02-23 11:27:00 · 157 阅读 · 0 评论 -
简化版五子棋
简化版五子棋(在控制台操作)思考:1.规则:五子棋 黑白棋 谁先连成5个子 谁就赢2.棋盘 我们用什么去表示棋盘? +++++++ +++++++ +++++++ 那也就是说我们需要创建一个String的二维数组来表示棋盘3.如何下棋呢? 目前我们的程序是控制台程序,不能说是用点击的方式进行下棋 只能是输入棋子的坐标进行下棋...原创 2020-02-22 23:18:29 · 226 阅读 · 0 评论 -
二维数组常见题型
1.(求矩阵中各列数字的和)编写一个方法,求整数矩阵中特定列的所有元素之和,使用下面的方法头:public static double sumCliumn(double[][] m, int columnIndex)编写一个测试程序,读取一个3x4的矩阵,然后显示每行每列元素的和。下面是一组运行示例:import java.util.*;class Demo05_09{ p...原创 2020-02-22 22:38:53 · 2447 阅读 · 0 评论 -
基本数据与计算
基本数据与计算从控制台读入数据从控制台可以读入各种类型的数据,如int 、double型的数据。但首先要引用Scanner这个类,要导包(import java.util.Scanner;)Scanner scanner = new Scanner(System.in);int a = scanner.nextInt(); //输入整型数据。double = scanne...原创 2020-02-08 21:12:51 · 410 阅读 · 0 评论