Leetcode開篇紀(jì)【1】

人生中第一次刷LeetCode,第一道Two Sum就各種拖了兩三天才提交。打算一直用python來刷題,但是無奈沒有系統(tǒng)學(xué)過Python,平時(shí)都是用啥搜啥。所以期間一直在補(bǔ)python的基礎(chǔ)語法。

立下flag:每天兩道算法題

按照前人們的經(jīng)驗(yàn),算法題就是找工作的敲門磚,沒他不行,但是工作了之后用的不多。算法能力也是一種應(yīng)試能力,勤能補(bǔ)拙。噗哈哈,可惜文豪同學(xué)最缺的就是“勤”,貪玩懶惰,執(zhí)行力差,是我的特色標(biāo)簽,這個(gè)時(shí)候,博客小哥哥你就是我的超級(jí)監(jiān)督者啦,一定要督促我把這個(gè)flag堅(jiān)持到明年三月份哦~


先從easy題的直接抄襲開始吧

  1. Two Sum
    Given an array of integers, return indices of the two numbers such that they add up to a specific target.
    **Note:
    **You may assume that each input would have exactly one solution, and you may not use the same element twice.
class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        dict_buff = {}
        for i in xrange(len(nums)):
            x = nums[i]
            if (target-x) in dict_buff:
                return [dict_buff[target-x],i]
            dict_buff[x] = i

Q: xrange與range的區(qū)別?
xrange做循環(huán)的性能比range好,尤其是返回很大的時(shí)候。盡量用xrange吧,除非你是要返回一個(gè)列表。
Q: 字典和哈希表的區(qū)別?


  1. Reverse digits of an integer.
    **Note:
    **The input is assumed to be a 32-bit signed integer. Your function should return 0 when the reversed integer overflows.
class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        
        if x>=0:
            x = int(str(x)[::-1])
        else:
            x = -int(str(-x)[::-1])
        return x if x < 2147483648 and x >= -2147483648 else 0

Q: 負(fù)數(shù)的補(bǔ)碼怎么求 ?
計(jì)算機(jī)中的負(fù)數(shù)是以其補(bǔ)碼形式存在的,補(bǔ)碼=原碼取反+1,一個(gè)字節(jié)有8位 可以表示的數(shù)值范圍在 -128到+127,用二進(jìn)制表示也就是 10000000 - 01111111(注意:最高位表示符號(hào)),最高位是1的都是負(fù)數(shù),最高位是0的都是正數(shù)。如-7 原碼是 10000111 然后取反(最高位是符號(hào)位不用取反)得11111000,加一 得11111001,那么-7的二進(jìn)制數(shù)就是 11111001。
Q: 多種方法解題?
(1)簡單的步長為-1, 即字符串的翻轉(zhuǎn)(常用);
(2)交換前后字母的位置;
(3)遞歸的方式, 每次輸出一個(gè)字符;
(4)雙端隊(duì)列, 使用extendleft()函數(shù);
(5) 使用for循環(huán), 從左至右輸出;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,936評(píng)論 0 33
  • LeetCode 刷題隨手記 - 第一部分 前 256 題(非會(huì)員),僅算法題,的吐槽 https://leetc...
    蕾娜漢默閱讀 18,431評(píng)論 2 36
  • 北京時(shí)間凌晨兩點(diǎn)半,坐標(biāo)上海,她望著窗外,不知該對(duì)這個(gè)城市說晚安還是早安。 今夜注定難眠。來到上海兩個(gè)月,這是第一...
    8b1a5376d081閱讀 101評(píng)論 0 0
  • 作者:彭星華 時(shí)間:2016-08-29 每天,手術(shù)室的手術(shù)很多,經(jīng)常會(huì)出現(xiàn)爭搶手術(shù)間的情況,在不違反原則的情況...
    d5453aa66e9b閱讀 239評(píng)論 0 0
  • 1.感恩父母生養(yǎng)之恩,愛你們,謝謝你們! 2.感恩田老師給我照的鏡子,謝謝! 3.感恩祺予支持我找回真正的我,心靈...
    心靈陪伴閱讀 168評(píng)論 0 0

友情鏈接更多精彩內(nèi)容