简单算法
JiuWeiYaoHo
我叫小阿卓
展开
-
力扣基础题
给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成作者:力扣 (LeetCode)链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/x2gy9m/来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。示例 1:原创 2021-08-24 22:38:54 · 254 阅读 · 0 评论 -
力扣 1544. 整理字符串
给你一个由大小写英文字母组成的字符串 s 。一个整理好的字符串中,两个相邻字符 s[i] 和 s[i+1],其中 0<= i <= s.length-2 ,要满足如下条件:若 s[i] 是小写字符,则 s[i+1] 不可以是相同的大写字符。若 s[i] 是大写字符,则 s[i+1] 不可以是相同的小写字符。请你将字符串整理好,每次你都可以从字符串中选出满足上述条件的 两个相邻 字符并删除,直到字符串整理好为止。请返回整理好的 字符串 。题目保证在给出的约束条件下,测试样例对应的答案是唯原创 2021-07-22 20:08:49 · 154 阅读 · 0 评论 -
两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], target = 6输出:[1,2]示例原创 2021-03-14 16:57:21 · 79 阅读 · 0 评论 -
数组去去零,同一列表操作数值删除添加
给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。本 LeetBook 由「力扣」和作者共同制作和发行,版权所有侵权必究(不是我想出来的问题…)。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。思路列表是记录索引值的 如果你从第一位开始删除的话那么元素会往前移动从而打乱索引顺序既然这样的话 那么我就倒叙循环nums = [0, 1, 0, 3, 12]for原创 2021-03-13 20:33:22 · 87 阅读 · 0 评论 -
尾数加1
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。作者:力扣 (LeetCode)链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/x2cv1c/来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。示例 1:输入:digits转载 2021-03-12 22:13:54 · 195 阅读 · 0 评论 -
两个数组的交集 两个不同的数组相同的值
给定两个数组,编写一个函数来计算他的交集示例1输入 nums1 = [1, 2, 2, 1 ] nums2 = [2, 2]输出 [2, 2]示例2输入nums1 = [4, 9, 5] nums2 = [8,4,9,8,4]输出[4, 9]给定列表nums1 = [1, 2, 3, 5, 6]nums2 = [2, 3, 6]我认为先求最短的列表, _len = 0if len(nums1) > len(nums2): _len+=len(nums2)else:原创 2021-03-12 17:10:38 · 122 阅读 · 0 评论 -
随机列表中找出不同的元素,
给定一个非空的整数数组,除了某个元素只出现一次以外其余每个元素均出现了两次.找出那个只出现了一次的元素说明 你的算法应该具有线性时间复杂度,你可以不用额外的空间来实现么示例 1输入 [2, 2, 1,]输出 1示例2输入 [4, 1, 2, 1, 2]输出 4首先给你数组r_number = [1, 2, 3, 2, 3, 6, 1, ]耗时比较长的思路,双层循环,将第一个值取出来与列表剩下的值相对比较如果有相等的就跳出循环然后利用elese弹出该下标的值r_number = [1,原创 2021-03-12 12:53:45 · 153 阅读 · 0 评论 -
一百个随机或多个数值之心分组插入
给定一百个数值然后进行分组每组至少至少两个示例 sum = [1,2,3,4,5,6,7,8,9,123,124,2345,345,4,756,72,352,5......] group = [[1...],[2...],[3...],[4...],[5...],[6...],[7...],[8...],[9...],[345...],[352...],[2345...]]开始做题先给你一个数组num = [i for i in range(101)]思路 每个至少分两个 是不是需要用得到原创 2021-03-11 23:27:03 · 190 阅读 · 1 评论 -
数组反转,数组矩阵找顺序然后排列
这个题目想通了也挺简单的 就是利用规律去用代码去实现上题矩阵转置输入示例:matrix = [[1, 2, 3, 4],[5, 6, 7, 8],[9, 10,11,12],]输出示例:re_matrix = [[1, 5, 9],[2, 6, 10],[3, 7, 11],[4, 8, 12]]示例:matrix = [[1, 2, 3, 4],[5, 6, 7, 8],[9, 10,11,12],]首先你先发现其规律 是不是每层列表的头的第一个数值变成了第原创 2021-03-11 22:52:29 · 117 阅读 · 0 评论 -
Python十位数以内的随机数字字符串转成数值
今天面试的时候碰到了一个题这个题想了很久没想出来,其实想通了也挺简单的,可惜当时没做出来直接上题描述:阿拉伯数值金额转中文,最大十位数输入:“123.64”输出: 二百一十三点六四首先先定义一个空字符串res = ""其次将这个数值进行转换成str的类型str_num = str(num)然后对这个字符串进行分割_ = len(str_num.split(".")[0])-1接下来就是循环了for i in str_num: if i == "." res += "点"原创 2021-03-11 22:10:21 · 217 阅读 · 0 评论