学习笔记
CallmeMY
就是个学生啊。。
展开
-
约瑟夫环问题(圆圈中最后剩下的人)
编号为 1到 n的 n个人围成一圈。从编号为 1的人开始报数,报到 m的人离开。下一个人继续从 1开始报数。n-1 轮结束以后,只剩下一个人,问最后留下的这个人编号是多少?数据范围: 1≤n,m≤1000进阶:空间复杂度 O(1),时间复杂度O(n)java:import java.util.*;public class Solution { /** * * @param n int整型 * @param m int...原创 2021-09-29 09:08:30 · 646 阅读 · 0 评论 -
快速排序(java)
给你一个整数数组nums,请你将该数组升序排列。java:import java.util.*;class Solution { public int[] sortArray(int[] nums) { int len = nums.length; quickSort(nums, 0, len-1); return nums; } //快排主函数 public void quickSort(int[] nums, int..原创 2021-09-29 01:07:19 · 194 阅读 · 0 评论 -
数组中重复数据
给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。找到所有出现两次的元素。你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-all-duplicates-in-an-array著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。java:class Solution { .原创 2021-09-29 00:14:09 · 170 阅读 · 0 评论 -
交替合并字符串
给你两个字符串 word1 和 word2 。请你从 word1 开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。返回 合并后的字符串 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-strings-alternately著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。java:class Solution { public .原创 2021-09-28 19:55:16 · 295 阅读 · 0 评论 -
十进制转换N进制
给定一个十进制数 M ,以及需要转换的进制数 N 。将十进制数 M 转化为 N 进制数。当 N 大于 10 以后, 应在结果中使用大写字母表示大于 10 的一位,如 'A' 表示此位为 10 , 'B' 表示此位为 11 。若 M 为负数,应在结果中保留负号。数据范围:要求:空间复杂度,时间复杂度java:import java.util.*;public class Solution { /** * 进制转换 * @param M...原创 2021-09-28 19:16:56 · 700 阅读 · 0 评论 -
有效括号的嵌套深度
有效括号字符串 定义:对于每个左括号,都能找到与之对应的右括号,反之亦然。详情参见题末「有效括号字符串」部分。嵌套深度 depth 定义:即有效括号字符串嵌套的层数,depth(A) 表示有效括号字符串 A 的嵌套深度。详情参见题末「嵌套深度」部分。有效括号字符串类型与对应的嵌套深度计算方法如下图所示:给你一个「有效括号字符串」 seq,请你将其分成两个不相交的有效括号字符串,A 和B,并使这两个字符串的深度最小。不相交:每个 seq[i] 只能分给 A 和 B 二者中的一个,不能...原创 2021-09-28 18:55:16 · 207 阅读 · 0 评论 -
二进制中1的个数
编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量).)。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。在 Java 中,编译器使用 二进制补码 记法来表示有符号整数。因此,在上面的示例 3中,输入表示有符号整数 -3。来源:力扣(LeetCode)链接:...原创 2021-09-28 18:25:12 · 68 阅读 · 0 评论 -
字符串相加
给定两个字符串形式的非负整数num1 和num2,计算它们的和并同样以字符串形式返回。你不能使用任何內建的用于处理大整数的库(比如 BigInteger),也不能直接将输入的字符串转换为整数形式。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/add-strings著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。java:class Solution { public String addSt...原创 2021-09-28 18:08:28 · 101 阅读 · 0 评论 -
力扣486.预测赢家(两端取数)
给定一个表示分数的非负整数数组。 玩家 1 从数组任意一端拿取一个分数,随后玩家 2 继续从剩余数组任意一端拿取分数,然后玩家 1 拿,…… 。每次一个玩家只能拿取一个分数,分数被拿取之后不再可取。直到没有剩余分数可取时游戏结束。最终获得分数总和最多的玩家获胜。给定一个表示分数的数组,预测玩家1是否会成为赢家。你可以假设每个玩家的玩法都会使他的分数最大化。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/predict-the-winner著.原创 2021-09-28 17:34:20 · 232 阅读 · 0 评论 -
字符串大小写排序
给定一个只包含字母的字符串,按照先小写字母后大写字母的顺序进行排序。小写字母或者大写字母他们之间不一定要保持在原始字符串中的相对位置。思路:两个指针:i——左侧排好小写字母序列最后一位的下一个位置j——待处理区域的第一个位置将一个含有大小写字母的字符串排序后,按照小写在前大写在后,并且小写大写均有序输出方法一:双指针方法二:冒泡排序...原创 2021-09-28 16:43:54 · 1523 阅读 · 0 评论 -
反转字符串
写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)数据范围:0≤n≤1000要求:空间复杂度O(n),时间复杂度O(n)反转字符串javaimport java.util.*;public class Solution { /** * 反转字符串 * @param str string字符串 * @return string字符串 */ public String solve ..原创 2021-09-28 16:34:14 · 67 阅读 · 0 评论 -
判断回文数字
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/palindrome-number著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。java:import java.util.*;public class Solu..原创 2021-09-28 15:48:45 · 80 阅读 · 0 评论 -
判断回文字符串
给定一个长度为 n 的字符串,请编写一个函数判断该字符串是否回文。如果是回文请返回true,否则返回false。字符串回文指该字符串正序与其逆序逐字符一致。数据范围:0<n≤1000000要求:空间复杂度 O(1),时间复杂度O(n)牛客:判断回文java:import java.util.*;public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * ...原创 2021-09-28 15:09:06 · 401 阅读 · 0 评论