- 博客(10)
- 收藏
- 关注
原创 力扣刷题:玩筹码
题目描述数轴上放置了一些筹码,每个筹码的位置存在数组 chips 当中。你可以对 任何筹码 执行下面两种操作之一(不限操作次数,0 次也可以):将第 i 个筹码向左或者右移动 2 个单位,代价为 0。将第 i 个筹码向左或者右移动 1 个单位,代价为 1。最开始的时候,同一位置上也可能放着两个或者更多的筹码。返回将所有筹码移动到同一位置(任意位置)上所需要的最小代价。思路当排序,贪心算法,多次排序,栈,常规解法都无法做时,要探索数学规律为什么数学规律找不到最后都转化成统计元素个数的问题
2020-11-22 11:38:41
127
原创 力扣刷题:最后一块石头的重量
题目描述有一堆石头,每块石头的重量都是正整数。每一回合,从中选出两块 最重的 石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。思路目前学的有贪心算法,栈,排序(多次排序)利用递归多次排序来找结果为什么不知道多次排序也可以递归出口不知道**–**特殊情况出口**–**与递归语句出口if()return 1;return max(a,b);理解特殊情况出口是底层递归的返回值递归语句出口是从底部把返回值送回去若return没有处理则放回原来的值
2020-11-08 22:23:51
101
原创 作业题收获[2020.11.6]
scanf理解输入字符串,把空白符当做中止,但自动忽略空白符输入数字与字符会自动读入。scanf如果是已知数据类型,则用%d%c等如果不知数据类型,则建立一个字符数组进行读入%s,再判断易忘函数随机srand(time(null))a = rand()%判断是否是数字isdigit(字符)判断是整型还是浮点数设置初始化为0的数组储存后全加将字符数组转化为整型或者浮点型a = atoi(数组)b = atof(数组)...
2020-11-07 20:52:05
105
原创 力扣刷题:整理字符串
题目描述输入:s = “leEeetcode”输出:“leetcode”思路双指针1.先入后判断(简单而且少判断很多种情况)2.先判断再入(复杂)总结类似于判断相邻两个元素性质时多用1先压后判断由于要初始化 j = -1;if(j>0)判断,向后移动二个指针。先判断再压初始化包含二个条件刚刚开始与之后j = 0判断语句包含压入与移动指针,判断j输出语句包含j=0与j!=0二种可能...
2020-11-07 16:36:06
138
原创 力扣刷题 :用闸操作构建数组
题目描述给你一个目标数组 target 和一个整数 n。每次迭代,需要从 list = {1,2,3…, n} 中依序读取一个数字。请使用下述操作来构建目标数组 target :Push:从 list 中读取一个新元素, 并将其推入数组中。Pop:删除数组中的最后一个元素。如果目标数组构建完成,就停止读取更多元素思路简单收获如何申请二维动态数组先申请行数量个(char**)类型的数组,大小为(char*)再循环申请每个行多少列的数组...
2020-11-07 15:45:42
133
原创 力扣刷题:删除字符串中相邻的重复项
题目描述给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在 S 上反复执行重复项删除操作,直到无法继续删除。在完成所有重复项删除操作后返回最终的字符串。答案保证唯一基本思维一指针遍历,另一指针操作原数组。为什么没有深刻理解用于遍历的指针所指向的元素一开始不用写入原数组,而是经过特殊判断后再确定是否要写入。特殊判断始终只判断闸顶元素和遍历元素,这些接下来的语句只要负责调闸顶指针。如果不满足特殊判断,写入闸顶,如果满足闸顶指针退后或者不动。流程遍历语
2020-11-05 22:18:22
177
原创 力扣刷题:删除最外层括号
题目描述输入:"(()())(())"输出:"()()()"解释:输入字符串为 “(()())(())”,原语化分解得到 “(()())” + “(())”,删除每个部分中的最外层括号后得到 “()()” + “()” = “()()()”思路同样的双指针思想这次不仅是遇到特殊元素操作,还要加上计数功能...
2020-11-02 22:30:32
132
原创 力扣刷题:比较退格的字符串
题目描述给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符思路把原来数组作为闸,利用双指针,一指针遍历原先数组,另一指针调整答案数组。记得答案数组结尾要加0作为中止。为什么不知双指针的具体操作一指针遍历,如果满足条件,答案数组等于原先数组,如果不满足条件,答案数组的指针调整。...
2020-11-02 21:54:53
104
原创 力扣刷题:实现strstr()
题目描述给a,b两个字符串,找a在b中第一次出现的位置基本思路找a的第一个元素和b相等的元素,比较之后,若不能则返回比较。解法1.memcmp比较大小函数2.双下标简化代码总结若题目涉及数组中字符串,则考虑***字符串长度比较简化***,i,j双下标...
2020-10-25 11:59:33
201
原创 力扣刷题:下一个更大的元素
题目描述给二个集合a,b,找a中每个元素在b中出现后右边比该元素大的值。基本思路找方法锁定b中a的元素的位置,再看b右边。解题方法一三循环暴力解法为什么做不出来多个循环操作不严谨,导致后面太乱写不出来。收获(寻找类型循环)1.多循环下标是否能共用,减少代码量。2,若要判断是否到数组末尾,放在循环里一起判断此时:1,不用++。2,size放在判断前面防止下标越界。3,用三元运算符收尾。二新数组映射解法收获(定位数组元素法)1,将数组的值作为下标,数组的下标作为值。这样当输入
2020-10-25 11:44:27
122
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人