资讯专栏INFORMATION COLUMN

leetcode刷题笔记(1)(python)

layman / 3102人阅读

摘要:最近时间准备面试,开始在上刷题了。思路将两个数用转换为二进制需要去除前面的,因为位数不同所以需要在前面补充一定位数的,然后将两个字符串遍历就可以直接得到汉明距离代码

最近时间准备面试,开始在leetcode上刷题了。于是在segmentfault上写点东西来记录下。可能会有各种弱智情况,望指出。


Array Partition I
题意:这个题目看原题实在没有看懂,在网上找的翻译,大致意思是给你一个长度为2n的数组,讲数组分为长度为2的子数组,求子数组里面最小值的和。

思路:把数组按顺序排列,然后直接取键值为偶数的值求和即可
代码:

class Solution(object):
    def arrayPairSum(self, nums):
        nums.sort()
        sum=0
        for i in range(len(nums)):
            if i%2==0:
                sum+=nums[i]
        return sum

Reshape the Matrix
题意:给定一个二维数组与数组的行列数(r和c),将数组转化为一维数组再转换成指定的格式的数组,如果无法转换则返回原来的数组

思路:先判断输入的r与c的值能否满足转换条件,然后再进行转换,在网上找过参考,发现参考的一个答案没有考虑过r和c的值,其实总长度等于r*c即满足条件,不用再求r的值
代码:

class Solution(object):
    def matrixReshape(self, nums, r, c):
        ad=[]
        if len(nums)*len(nums[0])!=r*c:
            return nums
        else:
            for i in nums:
                for k in i:
                    ad.append(k)
            lst=[]
            for j in range(r):
                lst.append(ad[j*c:(j+1)*c])
            return lst
        

Hamming Distance
题意:给定两个指定范围内的数,将两个数转化为二进制,二进制不同位数即为汉明距离。
思路:将两个数用bin()转换为二进制(需要去除前面的bin),因为位数不同所以需要在前面补充一定位数的0,然后将两个字符串遍历就可以直接得到汉明距离
代码: `python
class Solution(object):

def hammingDistance(self, x, y):
    a=bin(x)[2:]
    b=bin(y)[2:]
    minus=abs(len(a)-len(b))
    s=0
    if len(a)>len(b):
        b="0"*minus+b
    elif len(a)           
               
                                           
                       
                 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40891.html

相关文章

  • leetcode刷题笔记(3)(python)

    摘要:题意给出一串二进制数组,求数组中最长的连续的个数思路遍历数组判断,然后将值添加到长度保存数组中,取保存数组最大值。本题要考虑输入的数组为的状况。代码题意给出一个,从里面获取两个数。 485 Max Consecutive Ones题意:给出一串二进制数组,求数组中最长的连续1的个数思路:遍历数组判断,然后将值添加到长度保存数组中,取保存数组最大值。本题要考虑输入的数组为[0],[1]的...

    susheng 评论0 收藏0
  • leetcode刷题笔记(2)(python)

    摘要:思路先用将字符串分割,再遍历,将字符串内每个单词进行翻转代码题意给定一个字符串,将字符串按照翻转,不翻转的规则进行处理。思路先将字符串分段,然后再根据段落进行处理最后将字符串输出。 344 Reverse String题意:给出一个字符串对字符串进行翻转(reverse)思路:直接使用切片函数进行翻转(网上看到的,具体怎么使用有点迷)[::-1]代码:`class Solution(...

    Guakin_Huang 评论0 收藏0
  • 【算法日积月累】0-写在前面的话

    摘要:现在发出来的版本,我重新使用了语言实现。其实我之前介绍的老师课程也大量参考和使用算法这本书上的思路和例题。看这本书主要是让我觉得算法可以以比较轻松的方式入门。剑指这本书主要用于准备算法面试,在网络上备受好评。 我是一个半路出家的程序员,在我刚开始从事编码工作的头几年,我没有接触过算法和数据结构,觉得它们是只会在我找工作的时候用得到的知识。尽管有很多人跟我说过算法和数据结构无比重要,我也...

    flybywind 评论0 收藏0
  • 真的神了!无意中发现一位大佬1500道的2021LeetCode算法刷题pdf笔记

    摘要:昨晚逛,无意中看到一位大佬的算法刷题笔记,感觉发现了宝藏有些小伙伴可能已经发现了,但咱这里还是忍不住安利一波,怕有些小伙伴没有看到。有了这个笔记的总结,对校招和社招的算法刷题帮助之大不言而喻,果断收藏安利。 昨晚逛GitHub,无意中看到一位大佬的算法刷题笔记,感觉发现了宝藏!有些小伙伴可能...

    pf_miles 评论0 收藏0
  • leetcode刷题笔记

    摘要:技能点中结构知识点声明语句添加内容鉴定存在本例是把作为找到下标根据返回下标返回数组最终代码建立在哈希表中遍历每个元素,找到可能与之匹配成的下标 问题: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的两个下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 思路 首先遍历一次整数数组,将数组下标和值建立哈希表,再从...

    stefanieliang 评论0 收藏0

发表评论

0条评论

layman

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<