leetcode练习
用户昵称admin
努力努力再努力!
展开
-
leetcode练习-验证回文串
文章目录题目描述 一、基本思路 二、实现代码 三、相关知识点题目描述一、基本思路1 对原字符串进行基本处理,筛去非字符数字等元素,新建一个字符串,存储筛选后的字符,此时有两种方法判断是否为回文 其一:将筛选后的字符串进行逆序排列,然后比较两个字符串是否相同 其二:用两个指针分别指向字符串的首尾,然后进行比较,同时对字符串进行移位2 不利用额外的空间,同样采用两个指针,区别在于并没有去除字符串中的非数字字母元素,此时左右指针在遇到非数...原创 2021-06-02 20:35:35 · 192 阅读 · 0 评论 -
leetcode初级算法练习-两个数组的交集 II
目录前言 总体思路 实现代码前言leetcode初级算法练习-两个数组的交集 II一、总体思路1、常规方法将两个数组分别进行排序处理,并设定两个指针分别指向排序后的对应数组的首位元素,然后比较两个指针所指向元素的大小,如果相等,则将此元素存入事先准备的空白数组中,如果不相等,小元素对应的指针则后移一位,以此类推,直至指向其中任一数组的尾部。2、哈希表首先遍历第一个数组,并在哈希表中记录第一个数组中的每个数字以及对应出现的次数,然后遍历第二个数组,对于第二个数组中的每个.原创 2021-05-29 23:13:43 · 127 阅读 · 0 评论 -
leetcode初级算法练习-只出现一次的数字
文章目录前言 一、总体思路 二、实现代码前言leetcode初级算法练习-只出现一次的数字一、总体思路1.常规做法 将数组进行排序处理后,进行比较,此方法主要注意数组边界的处理以及数组中元素只有一个的情况2.采用异或处理(XOR)异或处理的步骤,将元素二进制处理后,相同元素异或,结果为0,不同元素异或,结果为1。bin(2) = '0b10' bin(3)='0b11'2^3 = 1二、实现代码1、常规方法def sing...原创 2021-05-26 21:10:09 · 99 阅读 · 0 评论 -
leetcode初级算法练习-旋转数组
文章目录前言 一、总体思路 二、实现代码前言Leetcode 初级算法练习Python实现一、总体思路1、常规方法,采用临时数组保存需转移的内容,空间复杂度O(n)二、实现代码def rotate2(nums,k): # 获取数组长度 n = len(nums) # 求余并进行判断,x为右移次数与数组长度的求余值 x = k % n # 当求余值为0时 if x == 0: nums...原创 2021-05-25 14:23:18 · 226 阅读 · 0 评论 -
leetcode初级算法练习-买卖股票的最佳时机 II
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、总体思路 二、实现代码前言Leetcode 初级算法练习Python实现2、买卖股票的最佳时机 II一、总体思路参照leetcode内提供的解题思路,有两种解法,一种是用贪心算法进行求解,另一种是利用动态规划进行求解。1、贪心算法比较前一天的价格与当天的价格差异,如果当天价格 prices[i],高于前一天的价格 prices[i-1],那么可假设是在第...原创 2021-05-20 04:23:11 · 114 阅读 · 0 评论 -
leetcode初级算法练习-删除排序数组中的重复项
文章目录前言 一、总体思路 二、实现代码 总结前言Leetcode 初级算法练习Python实现1、删除排序数组中的重复项一、总体思路因为给定的数组是有序的,所以不存在考虑给数据进行排序的问题设定两个指针n_left和n_right,初始分别指向数据的第一个元素和第二个元素,即n_left=0,n_right=1当左指针指向的元素不等于右指针指向的元素,左指针与右指针分别右移一位当左指针指向的元素与右指针指向的元素相等时,右指针右移一位,左.原创 2021-05-20 02:48:10 · 146 阅读 · 0 评论