1. 程式人生 > >LeetCode JavaScript解答(1)

LeetCode JavaScript解答(1)

安心準備走技術路線了,我個人感覺自己基礎不是很牢固,因此選擇去LeetCode上面刷刷題,順便學習一下其他大牛的解題思路。Java當初沒有好好學,這裡就不獻醜了,依舊是用JS來寫,權當一個個人記錄。

題目

要求寫一個函式,輸入引數為一個整型陣列和一個整數,返回一個數組,其中元素為輸入陣列中和等於這個整數的下標,如[2,7,11,15],整數為9;由於2+7=9,因此最後返回一個數組為[0,1]

解法

首先來說說解法,作為LeetCode裡面Array這一塊入門級的題目,這題的確很簡單,一種解法,即使用for迴圈,從下標為0的開始,求出target-a[i]的值,並在陣列中尋找並返回匹配的值的下標;這一種也是我使用的方法,但是我覺得並不是一個很好的演算法,分析一下時間複雜度足足有O(n*n)!第二種解法,也就是以減小時間複雜度為目標的話,我們可以通過優化在陣列中尋找匹配的值的方法來實現,可以通過以空間代價來換取時間的做法,即使用hash table的方法來解決此問題。

JS程式碼

這裡我用的是第一種解法第二種解法有興趣的可以自己去LeetCode去研究一下。

var twoSum = function(nums, target) {
    var i,j;
    var m;
    var result=new Array()
    for(i=0;i<nums.length;i++){
        m=target-nums[i] ;
        for(j=i+1;j<nums.length;j++){
            if(nums[j]==m){
                result[0]=i;
                result[1
]=j; } } } return result; };

大概就是這樣,LeetCode除了程式設計,感覺對自己的英語水平也有不小的好處,嗯,以後沒事就要多逛逛。

相關推薦

LeetCode JavaScript解答1

安心準備走技術路線了,我個人感覺自己基礎不是很牢固,因此選擇去LeetCode上面刷刷題,順便學習一下其他大牛的解題思路。Java當初沒有好好學,這裡就不獻醜了,依舊是用JS來寫,權當一個個人記錄。 題目 要求寫一個函式,輸入引數為一個整型陣列和一個整數,返

LeetCode JavaScript解答5:No.27 Remove Element

  沒什麼好說的,週末可能要加班,但是需要使用的介面,頁面什麼的同事都還沒有弄好了,就算加班也沒什麼可以做的。。。。 題目 Given an array nums and a value val, remove all instances of t

LeetCode JavaScript解答:No.26 Remove Duplicates from Sorted Array

  最近剛剛上班,最終的工作還是寫JS。作為一個有追求的程式設計師,自然不能因為找到了工作就停下自己學習的腳步,所以LeetCode的題目還是得刷,今天就來記錄一下自己今天午休時候看的題目。 題目 Given a sorted array nu

ArcGIS API for JavaScript學習1:第一個地圖

樣式表 參數 資源 charset 底層 arcgis 順序 api navi 1.簡介 ArcGIS API for JavaScript跟隨ArcGIS 9.3同時發布,是ESRI根據JavaScript技術實現的調用ArcGIS Server REST API接口的一

JavaScript基礎1

控制 () ava chrome 嵌套 ror 調試 下回 出錯 1. 調試JavaScript 利用Chrome瀏覽器的開發者工具調試JavaScript。 在Chrome瀏覽器中,選擇菜單項“更多工具”——“開發者工具”,打開開發者工具欄,快捷鍵“F12”或“Ctrl+

leetcode 刷題1--- 兩數之和

給定一個整數陣列和一個目標值,找出陣列中和為目標值的兩個數。 你可以假設每個輸入只對應一種答案,且同樣的元素不能被重複利用。 示例:   給定 nums = [2, 7, 11, 15], target = 9   因為 nums[0] + nums[1] = 2 + 7 = 9   所以返回 [0

JavaScript學習1——快速入門

1、資料型別 (1)Number,JavaScript不區分整數和浮點數,統一用Number表示 NaN; // NaN表示Not a Number,當無法計算結果時用NaN表示 Infinity; // Infinity表示無限大,當數值超過了JavaScript的Number所能表示

瀏覽器解析JavaScript原理1

object 包括 就是 int 賦值 相同 得到 執行 例如 特點:     1、跨平臺     2、弱類型:JavaScript 定義的時候不需要定義數據類型,數據類型是根據變量值來確定的       強類型:定義變量的時候需要定義變量的類型:例如java,C

JavaScript高階1

一、作用域與作用域鏈 1.作用域 (1)什麼是作用域 a.就是一塊“地盤”,一個程式碼所在的區域b.作用域是靜態的(相對於執行上下文物件),在編寫程式碼時就確定了c.作用域是一套非常嚴格的規則,這套規則跟變數的查詢有關 (2)作用域分類 1.全域性作用域:是針對於全域性變數來說,宣告

【一、Leetcode陣列專題1easy】

【陣列專題】 難度:easy 【第一題】 Two Sum(NO.1) Given an array of integers, return indices of the two numbers such that they add u

前端經典面試題a++和++a 總結及自我解答1

1. 如果 a=1 ;  b = a++ + (a++) + 1 + (++a)  + (a++)  + (++a) + a + (++a) = ?  並且這時候a =? 解答: 先說 a =?  首先求a , 有一個極簡單的方法,個人總結啊:

leetcode之O1空間複雜度合併倆個數組

這個題做得有點懷疑智商了,看了題,感覺題目的意思就是讓用O(1)的空間複雜度來做, 但是隻想到O(m*n)的時間複雜度的做法,感覺應該不是最優,就直接看答案了,果然不是最優,竟讓忘記 倒著把值放入陣列

林大媽的JavaScript基礎知識JavaScript程式設計1物件

1. 物件的簡單介紹與一些注意事項   JavaScript中具有幾個簡單資料型別:數字、字串、布林值、null值以及undefined值。除此之外其餘所有值(包括陣列、函式,甚至正則表示式)都是物件。數字、字串以及布林值表面是物件(因為他們具有方法),但它們是不可變的,只是JavaScript在引用某個數

javascript 面向對象基礎 1

ron str strong bsp rip spa pro type 通過 常見的創建對象的方式有3種: ① 聲明變量的方式 var obj1 = { key1: "val1", key1: "val2", show: function () { conso

6javascript的程序控制結構及語句-----1條件判斷

江湖 too 分支語句 copy 表達 demo oct alt javascrip 程序控制結構及語句 編程就是將現實應用,轉換為程序能夠讀得懂的語法語句。Javascript編程中對程序流程控制主要是通過條件判斷語句、循環控制語句及continue、break來完成的

javascript 高級程序設計學習筆記1

元素 新的 logs html light begin 知識 gin nbsp 知識補充: var box = document.querySelector(‘#box‘); //"beforebegin" ,在當前元素之前插入一個緊鄰的同輩元素; box.ins

javascript】DOM操作方法1——節點屬性

demo1 tex rip tar nerd 屬於 fin ntb art 一、節點屬性Node.nodeName //返回節點名稱,只讀 Node.nodeType //返回節點類型的常數值,只讀 Node.nodeValue //返回Text或Comment

JavaScript DOM 編程藝術1---> JavaScript語法

cti scrip 回車 括號 全局 運行 方法 回車換行 charset 一. JavaScript語法目錄 語法 操作 條件語句 循環語句 函數 對象 二. 具體內容 2.1 語法   javaScript代碼要通過HTML/XHTML文檔才能執行

JavaScript編碼規範1

其他 length xtend 構造函數 port 類型 ons 示例 java 參考的是百度公司的JS規範,分為兩部分。這是第一部分 [建議] JavaScript 文件使用無 BOM 的 UTF-8 編碼。 空格 [強制] 二元運算符兩側必須有一個空格,一元運算符與操作

JavaScript——Dom編程1

cli -c his close 屬性設置 utf-8 裏的 點名 oct DOM:Document Object Model(文本對象模型) D:文檔 – html 文檔 或 xml 文檔O:對象 – document 對象的屬性和方法M:模