1. 程式人生 > >一天一道演算法題(持續更新)

一天一道演算法題(持續更新)

day1 

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution, and you may not use the same element twice.

Example:

Given nums = [2, 7, 11, 15], target = 9,

Because nums[0] + nums[1] = 2 + 7 = 9,
return [0
, 1].

翻譯:給定一個整數陣列,返回兩個加起來是某特定值的數的索引,假設每次輸入只有一個解,並且不能用同一個元素兩次。(新手翻譯,我到底在說什麼尷尬

程式碼:

class Solution(object):
    def twoSum(self, nums, target):
        """
        :type nums: List[int]
        :type target: int
        :rtype: List[int]
        """
        for i in range(len(nums)-1):
            for j in
range(i+1,len(nums)): if nums[i]+nums[j] == target: return [i,j]

day2

We are given two strings, A and B.

shift on A consists of taking string A and moving the leftmost character to the rightmost position. For example, if A = 'abcde', then it will be 'bcdea' after one shift on A

. Return True if and only if A can become B after some number of shifts on A.

Example 1:
Input: A = 'abcde', B = 'cdeab'
Output: true

Example 2:
Input: A = 'abcde', B = 'abced'
Output: false

Note:

  • A and B will have length at most 100.

翻譯:給定兩個字串A和B,將字串A的字元依次從最頭移到最尾,若A終能和B相等則返回True,否則返回False。

程式碼:

class Solution:
    def rotateString(self, A, B):
        """
        :type A: str
        :type B: str
        :rtype: bool
        """
        if A == B:
            return True
        for i in range(len(A)):
            if A[i:]+A[:i]==B:
                return True
        return False

day3

Given a 32-bit signed integer, reverse digits of an integer.

Example 1:

Input: 123
Output:  321

Example 2:

Input: -123
Output: -321

Example 3:

Input: 120
Output: 21

Note:
Assume we are dealing with an environment which could only hold integers within the 32-bit signed integer range. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

翻譯:給定一個整數,將其數字反轉。當數字溢位時,返回0。

程式碼:

class Solution:
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        if x < 0:
            y = -int(str(-x)[::-1])
        else:
            y = int(str(x)[::-1])
        if y < -2147483648 or y > 2147483648:
            return 0
        return y
  • day4

最近遇到瓶頸了,python都沒研究明白的人,學dl真的好多坑啊。。。

相關推薦

一道演算法持續更新

day1 Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each inp

從尾到頭列印連結串列——【一道演算法

輸入一個連結串列,按連結串列值從尾到頭的順序返回一個ArrayList。 思想:棧的思想 # -*- coding:utf-8 -*- # class ListNode: # def __init__(self, x): # self.val = x #

一道演算法——數對數目分析

 題目:     給定2個數組X和Y,元素都是正數,請找出滿足如下條件的數對的個數:   1.x^y > y^x,即x的y次方大於y的x次方   2.x來自X陣列,y來自Y陣列分析:你真的想要暴力嗎,如果兩個陣列的長度為m和n,那麼暴力的複雜度整整有O(m*n)那麼高,而且沒有用到正數這個條件我們來變形

《github一道演算法》:插入排序

看書、思考、寫程式碼! /*********************************************** * [email protected] * blog: http://blog.csdn.net/hustyangju * 2014-11-0

Bugku 逆向持續更新

1.入門逆向-baby 一開始用OD開啟,查完字串什麼都發現不了,於是乎拖入IDA。   於是發現 這裡一大串的mov,在觀察66h,6Ch,61h,67h,稍有經驗的同學應該知道這是ASCII字元flag的16進位制 把他們逐個敲進寫好的指令碼,得到flag。(IDA

A.pro讀演算法--報刊持續更新

第1期(2018.05.29):A.pro讀演算法の1:貪心演算法 第2期(2018.06.16):A.pro讀演算法の2:高精度演算法 第3期(2018.07.24):A.pro讀演算法の3:二分查詢及模板 第4期(2018.08.01):A.pro讀演算法の4:搜尋演算法 第

【Java面試題系列】:Java基礎知識面試題,看這篇就夠了持續更新

文中面試題從茫茫網海中精心篩選,如有錯誤,歡迎指正! 1.前言 ​ 參加過社招的同學都瞭解,進入一家公司面試開發崗位時,填寫完個人資訊後,一般都會讓先做一份筆試題,然後公司會根據筆試題的回答結果,確定要不要繼續此次面試,如果答的不好,有些公司可能會直接說“技術經理或者總監在忙,你先回去等通知吧”,有些公司

整理備忘波liunx命令持續更新

監聽 使用 掛載 mysqld IV lan netstat命令 所有 gre # 分區掛載 # 文件操作 # 編輯操作 # 網洛端口 netstat命令各個參數說明如下:   -t : 指明顯示TCP端口   -u : 指明顯示U

OpenStack搭建企業私有雲 :認證服務持續更新...

mod_wsgi 描述 put 裸機 編輯 pymysql example backup start 雲計算介紹 雲計算是一種模型,能夠提供無論在何時何地都可以便捷獲取所需資源的模型,這些資源可以是網絡資源、存儲資源、服務器資源,甚至是服務器或者應用軟件資源等。 雲計算模

集知識持續更新

1. 在java中一個unicode佔2個位元組(byte)。  一個位元組等於8位元位(bit)。   所以每個Unicode碼佔用16個位元位。 2   ./表示當前專案的路徑    ../表示當前目錄的父目錄路徑 &n

The Python Challenge 謎全解持續更新

Python Challenge(0-2) The Python Challengehttp://www.pythonchallenge.com/ 是個很有意思的網站,可以磨練使用python的技巧,每一關都有挑戰,要編寫相應的程式碼算出關鍵詞,才可以獲取下一關的url,還是很好玩的QAQ LEVE

彙總持續更新

題目 給定一個隨機數生成器,這個生成器能均勻生成1到5(1,5)的隨機數,如何使用這個生成器生成均勻分佈的1到7(1,7)的數? 思路 方法一:生成兩個(1,5)的隨機數,這樣一共是25種情況,注意這兩個數是有順序的,從這25種情況中,取前21種,每三種代表(1,7)中的

BZOJ 刷總結持續更新

本篇部落格按照題號排序(帶*為推薦題目) 1008 [HNOI2008]越獄 很經典的題了。。龜速乘,龜速冪裸題,, 1010 [HNOI2008]玩具裝箱toy* 斜率優化 基本算是裸題。 1012 最大數 單調佇列/單調棧 隨便搞一搞就好 (水題。。。) 1045 糖果傳遞(雙倍

java選擇題錯集錦持續更新

關於以下application,說法正確是什麼? public class Test { static int x=10; static {x+=5;} public static void main(String[] args) //4 { System.out.pri

演算法十八:搜狗19年校招程式設計——找區間

注:筆試時並沒有AC,線下修改後可以輸出示例結果。 問題:從一個序列中找出所有包含全部數字的最小索引區間,若有多個則按出現的順序輸出。 輸入輸出示例: 輸入:1 1 3 4 6 6 5 1 1 3 3 輸出:[2,7] [3,8] [4,9] 分析:先用一個list

記錄枚蒟蒻的成長持續更新

2018.06.30 懷著一顆好奇的心從MOOC學習C 2018.07.09 加入敲鍵盤行列,自此邁進了一個無底深淵( 2018.07.10午 第一道橙題過河卒 2018.07.10晚 第一道黃題八皇后 2018.08.03 第一道綠題八百標兵奔北坡 2018.08.05 第一道藍題餘數求和 20

有趣的演算法持續更新

返回二進位制中1的個數 size_t countOf1(int num) { size_t count=0; while(num) { num&=num-1; ++count; } return count; } 返回比x大的2的冪級數: int po

Python基礎演算法持續更新~~

一: 建立一個包含1-100之間所有素數的列表,排序後列印顯示該列表; 隨後只保留該列表前5個數字,刪除其餘內容並列印輸出相應結果; 再將每個元素值加上100,顯示列表內容;把列表轉化為字串。 思路分析: 1.建立一個空列表,用來儲存1-100之間的素

Leetcode演算法C語言8--加

題目:加一 給定一個由整陣列成的非空陣列所表示的非負整數,在該數的基礎上加一。 最高位數字存放在陣列的首位, 陣列中每個元素只儲存一個數字。 你可以假設除了整數 0 之外,這個整數不會以零開頭。 示

作為程式設計師應該瞭解的32個演算法持續更新

演算法就是解決問題的一種模式,通過演算法我們可以更輕鬆快速的解決問題。作為程式設計師,我們應該熟練掌握一些演算法並瞭解多個演算法。 我會持續不斷的更新這篇文章,爭取把這些演算法都給描述一下,用自己的思維方式給大家講解一下。 來自百度百科: 演算法(Algori