自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 希尔排序

希尔排序就是把记录按下标进行一定的增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键粗越来越多,当增量减到1时,整个文件恰好被分成一组,算法便终止。

2022-11-23 19:29:55 120 1

原创 快速排序

以从小到大的排序为例:要求基准数的左边数均不大于它,右边的数均不小于它。这样就会得到以基准数为区分的左右两个区间,再对两个区间进行排序即可。基本思想:选一个数作为基准,用这个数将数组中的每个数都做一遍对比。

2022-11-22 19:46:48 85

原创 292.Nim游戏

假设你们每一步都是最优解。请编写一个函数,来判断你是否可以在给定石头数量为 n 的情况下赢得游戏。如果可以赢,返回 true;否则,返回 false。1. 移除1颗石头。你的朋友移走了3块石头,包括最后一块。2. 移除2个石子。你的朋友移走2块石头,包括最后一块。3.你移走3颗石子。你的朋友移走了最后一块石头。每一回合,轮到的人拿掉 1 - 3 块石头。你们轮流进行自己的回合, 你作为先手。拿掉最后一块石头的人就是获胜者。在所有结果中,你的朋友是赢家。来源:力扣(LeetCode)

2022-11-19 15:17:41 99

原创 1502.判断能否形成等差数列

解释:对数组重新排序得到 [1,3,5] 或者 [5,3,1] ,任意相邻两项的差分别为 2 或 -2 ,可以形成等差数列。如果一个数列中,任意相邻两项的差总等于同一个常数,那么这个数列就称为 等差数列。如果可以重新排列数组形成等差数列,请返回 true;否则,返回 false。解释:无法通过重新排序得到等差数列。输入:arr = [3,5,1]输入:arr = [1,2,4]来源:力扣(LeetCode)给你一个数字数组 arr。

2022-11-19 15:06:05 193

原创 力扣 35.搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。输入: nums = [1,3,5,6], target = 5。输入: nums = [1,3,5,6], target = 2。输入: nums = [1,3,5,6], target = 7。请必须使用时间复杂度为 O(log n) 的算法。nums 为 无重复元素 的 升序 排列数组。来源:力扣(LeetCode)

2022-11-11 19:47:01 71

原创 力扣:1880.检查某单词是否等于两单词之和

输入:firstWord = "acb", secondWord = "cba", targetWord = "cdb"输入:firstWord = "aaa", secondWord = "a", targetWord = "aaaa"输入:firstWord = "aaa", secondWord = "a", targetWord = "aab"secondWord 的数值为 "a" -> "0" -> 0。secondWord 的数值为 "a" -> "0" -> 0。= 1 ,返回 false。

2022-11-11 19:37:45 60

原创 2154.将找到的值乘以2

如果在 nums 中找到 original ,将 original 乘以 2 ,得到新 original(即,令 original = 2 * original)。给你一个整数数组 nums ,另给你一个整数 original ,这是需要在 nums 中搜索的第一个数字。只要能在数组中找到新 original ,就对新 original 继续 重复 这一过程。输入:nums = [5,3,6,1,12], original = 3。输入:nums = [2,7,9], original = 4。

2022-11-06 11:44:28 51

原创 力扣 2027.转换字符串的最少操作次数

一次 操作 定义为从 s 中选出 三个连续字符 并将选中的每个字符都转换为 'O'。注意,如果字符已经是 'O' ,只需要保持 不变。给你一个字符串 s ,由 n 个字符组成,每个字符不是 'X' 就是 'O'。返回将 s 中所有字符均转换为 'O' 需要执行的 最少 操作次数。第一次操作,选择前 3 个字符,并将这些字符转换为 'O'。一次操作,选中全部 3 个字符,并将它们转换为 'O'。解释:s 中不存在需要转换的 'X'。s[i] 为 'X' 或 'O'输入:s = "XXX"

2022-11-06 11:39:07 147

原创 力扣 1013.将数组分成和相等都三部分

形式上,如果可以找出索引 i + 1 < j 且满足 (arr[0] + arr[1] + ... + arr[i] == arr[i + 1] + arr[i + 2] + ... + arr[j - 1] == arr[j] + arr[j + 1] + ... + arr[arr.length - 1]) 就可以将数组三等分。输入:arr = [0,2,1,-6,6,-7,9,1,2,0,1]输入:arr = [0,2,1,-6,6,7,9,-1,2,0,1]来源:力扣(LeetCode)

2022-10-25 20:00:52 64

原创 力扣 1903.字符串中的最大奇数

给你一个字符串 num ,表示一个大整数。请你在字符串 num 的所有 非空子字符串 中找出 值最大的奇数 ,并以字符串形式返回。如果不存在奇数,则返回一个空字符串 ""。解释:非空子字符串仅有 "5"、"2" 和 "52"。"5" 是其中唯一的奇数。子字符串 是字符串中的一个连续的字符序列。解释:"35427" 本身就是一个奇数。解释:在 "4206" 中不存在奇数。输入:num = "35427"输入:num = "4206"输入:num = "52"输出:"35427"

2022-10-24 16:54:31 104

原创 力扣 1523.在区间范围内统计奇数数目

给你两个非负整数 low 和 high。请你返回 low 和 high 之间(包括二者)奇数的数目。解释:3 到 7 之间奇数数字为 [3,5,7]。解释:8 到 10 之间奇数数字为 [9]。输入:low = 8, high = 10。输入:low = 3, high = 7。来源:力扣(LeetCode)

2022-10-23 19:28:43 83

原创 力扣 506.相对名次

运动员将根据得分 决定名次 ,其中名次第 1 的运动员得分最高,名次第 2 的运动员得分第 2 高,依此类推。输出:["Gold Medal","Silver Medal","Bronze Medal","4","5"]输出:["Gold Medal","5","Bronze Medal","Silver Medal","4"]从名次第 4 到第 n 的运动员,只能获得他们的名次编号(即,名次第 x 的运动员获得编号 "x")。解释:名次为 [1st, 2nd, 3rd, 4th, 5th]。

2022-10-23 19:20:12 52

原创 力扣 1668.最大重复子字符串

单词 word 的 最大重复值 是单词 word 在 sequence 中最大的重复值。解释:"ba" 是 "ababc" 的子字符串,但 "baba" 不是 "ababc" 的子字符串。输入:sequence = "ababc", word = "ab"输入:sequence = "ababc", word = "ba"输入:sequence = "ababc", word = "ac"解释:"abab" 是 "ababc" 的子字符串。解释:"ac" 不是 "ababc" 的子字符串。

2022-10-16 19:23:36 114

原创 力扣 50.pow(x,n)

实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。解释:2-2 = 1/22 = 1/4 = 0.25。输入:x = 2.00000, n = 10。输入:x = 2.00000, n = -2。输入:x = 2.10000, n = 3。来源:力扣(LeetCode)输出:1024.00000。输出:9.26100。输出:0.25000。

2022-10-16 19:14:56 90

原创 力扣 868二进制间距

两个 1 之间的距离是它们的二进制表示中位置的绝对差。例如,"1001" 中的两个 1 的距离为 3。给定一个正整数 n,找到并返回 n 的二进制表示中两个 相邻 1 之间的 最长距离。在 22 的二进制表示中,有三个 1,组成两对相邻的 1。在 8 的二进制表示中没有相邻的两个 1,所以返回 0。第一对相邻的 1 中,两个 1 之间的距离为 2。第二对相邻的 1 中,两个 1 之间的距离为 1。解释:22 的二进制是 "10110"。解释:8 的二进制是 "1000"。

2022-10-06 20:44:37 74

原创 力扣 824山羊拉丁文

输出:"heTmaa uickqmaaa rownbmaaaa oxfmaaaaa umpedjmaaaaaa overmaaaaaaa hetmaaaaaaaa azylmaaaaaaaaa ogdmaaaaaaaaaa"如果单词以元音开头('a', 'e', 'i', 'o', 'u'),在单词后添加"ma"。例如,在第一个单词后添加 "a" ,在第二个单词后添加 "aa" ,以此类推。例如,单词 "apple" 变为 "applema"。例如,单词 "goat" 变为 "oatgma"。

2022-10-06 20:29:25 71

原创 力扣 2418.按身高排序

输入:names = ["Mary","John","Emma"], heights = [180,165,170]输入:names = ["Alice","Bob","Bob"], heights = [155,185,150]对于每个下标 i,names[i] 和 heights[i] 表示第 i 个人的名字和身高。解释:第一个 Bob 最高,然后是 Alice 和第二个 Bob。输出:["Mary","Emma","John"]输出:["Bob","Alice","Bob"]

2022-10-02 10:17:09 280

原创 力扣 2273.移除字母异位词

由于 words[2] = "cd" 和 words[1] = "cd" 是字母异位词,选择下标 2 并删除 words[2]。输入:words = ["abba","baba","bbaa","cd","cd"]现在 words = ["abba","baba","cd","cd"]。现在 words = ["abba","cd","cd"]。输入:words = ["a","b","c","d","e"]输出:["a","b","c","d","e"]输出:["abba","cd"]

2022-10-02 09:42:22 72

原创 力扣 1672.最富有客户的资产容量

给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i​​​​​ 位客户在第 j 家银行托管的资产数量。输入:accounts = [[2,8,7],[7,1,3],[1,9,5]]输入:accounts = [[1,5],[7,3],[3,5]]输入:accounts = [[1,2,3],[3,2,1]]第 1 位客户的资产总量 = 1 + 2 + 3 = 6。第 2 位客户的资产总量 = 3 + 2 + 1 = 6。第 1 位客户的资产总量 = 6。

2022-09-22 16:19:44 41

原创 力扣 1342.将数字变成0的操作次数

如果当前数字是偶数,你需要把它除以 2;步骤 1) 14 是偶数,除以 2 得到 7。步骤 3) 6 是偶数,除以 2 得到 3。步骤 5) 2 是偶数,除以 2 得到 1。步骤 1) 8 是偶数,除以 2 得到 4。步骤 2) 4 是偶数,除以 2 得到 2。步骤 3) 2 是偶数,除以 2 得到 1。步骤 2) 7 是奇数,减 1 得到 6。步骤 4) 3 是奇数,减 1 得到 2。步骤 6) 1 是奇数,减 1 得到 0。步骤 4) 1 是奇数,减 1 得到 0。

2022-09-22 16:07:28 42

原创 1056 组合数的和

给定 N 个非 0 的个位数字,用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。例如给定 2、5、8,则可以组合出:25、28、52、58、82、85,它们的和为330。

2022-09-22 16:06:10 32

原创 力扣 876:链表的中间结点

如果有两个中间结点,则返回第二个中间结点。的非空单链表,返回链表的中间结点。

2022-09-18 12:02:57 71

原创 力扣 412.Fizz Buzz

answer[i] == "FizzBuzz" 如果 i 同时是 3 和 5 的倍数。answer[i] == i (以字符串形式)如果上述条件全不满足。answer[i] == "Fizz" 如果 i 是 3 的倍数。answer[i] == "Buzz" 如果 i 是 5 的倍数。来源:力扣(LeetCode)

2022-09-18 11:53:10 108

原创 力扣 383.赎金信

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。magazine 中的每个字符只能在 ransomNote 中使用一次。如果可以,返回 true;否则返回 false。来源:力扣(LeetCode)

2022-09-11 10:21:00 130

原创 力扣 1480.一维数组的动态和

给你一个数组 nums。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i])。来源:力扣(LeetCode)请返回 nums 的动态和。

2022-09-11 09:57:42 151

原创 1003 我要通过!

”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“”大派送 —— 只要读入的字符串满足下列条件,系统就输出“”,否则输出“”。得到“PATxPATxxAaPbTcaPbATcaabcA现在就请你为 PAT 写一个自动裁判程序,判定哪些字符串是可以获得“”的。

2022-09-04 21:15:28 43

原创 1002 写出这个数

读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

2022-09-04 21:11:22 44

原创 1076 Wifi密码

下面是微博上流传的一张照片:“各位亲爱的同学们,鉴于大家有时需要使用 wifi,又怕耽误亲们的学习,现将 wifi 密码设置为下列数学题答案:A-1;B-2;C-3;D-4;请同学们自己作答,每两日一换。!~”—— 老师们为了促进学生学习也是拼了…… 本题就要求你写程序把一系列题目的答案按照卷子上给出的对应关系翻译成 wifi 的密码。这里简单假设每道选择题都有 4 个选项,有且只有 1 个正确答案。

2022-08-19 14:13:23 54

原创 1071 小赌怡情

常言道“小赌怡情”。这是一个很简单的小游戏:首先由计算机给出第一个整数;然后玩家下注赌第二个整数将会比第一个数大还是小;玩家下注 t 个筹码后,计算机给出第二个数。若玩家猜对了,则系统奖励玩家 t 个筹码;否则扣除玩家 t 个筹码。注意:玩家下注的筹码数不能超过自己帐户上拥有的筹码数。当玩家输光了全部筹码后,游戏就结束。

2022-08-19 14:09:12 37

原创 1066 图像过滤

图像过滤是把图像中不重要的像素都染成背景色,使得重要部分被凸显出来。现给定一幅黑白图像,要求你将灰度值位于某指定区间内的所有像素颜色都用一种指定的颜色替换。

2022-08-14 11:30:42 38

原创 1061 判断题

判断题的评判很简单,本题就要求你写个简单的程序帮助老师判题并统计学生们判断题的得分。

2022-08-14 11:15:50 29

原创 1051 复数乘法

复数可以写成 (A+Bi) 的常规形式,其中 A 是实部,B 是虚部,i 是虚数单位,满足 i2=−1;也可以写成极坐标下的指数形式 (R×e(Pi)),其中 R 是复数模,P 是辐角,i 是虚数单位,其等价于三角形式 R(cos(P)+isin(P))。现给定两个复数的 R 和 P,要求输出两数乘积的常规形式。...

2022-08-07 10:06:33 35

原创 1046 划拳

划拳是古老中国酒文化的一个有趣的组成部分。酒桌上两人划拳的方法为每人口中喊出一个数字,同时用手比划出一个数字。如果谁比划出的数字正好等于两人喊出的数字之和,谁就赢了,输家罚一杯酒。两人同赢或两人同输则继续下一轮,直到唯一的赢家出现。下面给出甲、乙两人的划拳记录,请你统计他们最后分别喝了多少杯酒。...

2022-07-23 23:27:48 26

原创 1041 考试座位号

每个PAT考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。......

2022-07-23 22:58:11 34

原创 1031 查验身份证

一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下首先对前17位数字加权求和,权重分配为然后将计算的和对11取模得到值Z;最后按照以下关系对应Z值与校验码M现在给定一些身份证号码,请你验证校验码的有效性,并输出有问题的号码。......

2022-07-17 11:08:40 27

原创 1036 跟奥巴马一起编程

美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码在屏幕上画一个正方形。现在你也跟他一起画吧!...

2022-07-17 10:35:11 26

原创 1026 程序运行时间

要获得一个 C 语言程序的运行时间,常用的方法是调用头文件 time.h,其中提供了 clock() 函数,可以捕捉从程序开始运行到 clock() 被调用时所耗费的时间。这个时间单位是 clock tick,即“时钟打点”。同时还有一个常数 CLK_TCK,给出了机器时钟每秒所走的时钟打点数。于是为了获得一个函数 f 的运行时间,我们只要在调用 f 之前先调用 clock(),获得一个时钟打点数 C1;在 f 执行完成后再调用 clock(),获得另一个时钟打点数 C2;两次获得的时钟打点数之差 (C2-

2022-07-09 23:16:48 38

原创 1021 个位数统计

给定一个 k 位整数 N=dk−1​10k−1+⋯+d1​101+d0​ (0≤di​≤9, i=0,⋯,k−1, dk−1​>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。对 N 中每一种不同的个位数字,以 的格式在一行中输出该位数字 及其在 N 中出现的次数 。要求按 的升序输出。输出样例:代码:...

2022-07-09 23:14:54 77

原创 1016 部分A+B

正整数 A 的“DA​(为 1 位整数)部分”定义为由 A 中所有 DA​ 组成的新整数 PA​。例如:给定 A=3862767,DA​=6,则 A 的“6 部分”PA​ 是 66,因为 A 中有 2 个 6。现给定 A、DA​、B、DB​,请编写程序计算 PA​+PB​。输入在一行中依次给出 A、DA​、B、DB​,中间以空格分隔,其中 0...

2022-07-02 10:46:19 65

原创 1011 A+B 和 C分

给定区间 [−231,231] 内的 3 个整数 A、B 和 C,请判断 A+B 是否大于 C。输入第 1 行给出正整数 T (≤10),是测试用例的个数。随后给出 T 组测试用例,每组占一行,顺序给出 A、B 和 C。整数间以空格分隔。对每组测试用例,在一行中输出 如果 A+B>C,否则输出 ,其中 是测试用例的编号(从 1 开始)。输出样例:代码:...

2022-07-02 10:42:16 29

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除