1. 程式人生 > >js 快排 ,演算法 更新中。。。

js 快排 ,演算法 更新中。。。

快排(二分法)

var arr=[2,3,66,32,122,4,5,1,9];

function fn(n){
if (n.length <= 1) { return n; }
var index=Math.floor(n.length/2);
var pivot=n.splice(index,1)[0];
var left=[],right=[];
for(var i=0;i<n.length;i++){
if(n[i]<pivot){
left.push(n[i])
}
else{
right.push(n[i])
}
}
return fn(left).concat([pivot],fn(right))
}
var s=fn(arr);

console.log(s);

2、1~100中有多少個6   (66算6個)

var sum=0;
for(var i=1;i<101;i++){
if(i>10 && i%60<10){
sum++;
console.log('十位為6:'+i);
}
var n=i%10;
if(n && n%6==0){
sum++;
console.log('各位為6:'+i);
}
}

console.log('一共有:'+sum);

3、輸出1,3,7,13,21,31·····   找規律

var arr=[],s=0;
for(var i=1;i<10;i++){
s=Math.pow(i,2)-(i-1)

console.log(s);
}

相關推薦

js 演算法 更新

快排(二分法)var arr=[2,3,66,32,122,4,5,1,9];function fn(n){if (n.length <= 1) { return n; }var index=Math.floor(n.length/2);var pivot=n.spli

常用演算法js用法(插入 歸併)

/** * 插入演算法 * 從第2個元素開始如果比上一個元素小,上面的元素位置都往後挪移位,該元素放在最前面 * */ function insertSort(numArr) { for(let i=1; i<numArr.length; ++i)

js的氣泡排序選擇排序 理解和使用

一;氣泡排序:相鄰兩元素之間兩兩比較,比較出大值進行賦值互換,再依次與相鄰的元素比較,層層遞進 #互換元素位置,相互賦值。 <script type="text/javascript">   var my_num = [1,3,9,0,40]   functio

[轉] webpack之前端效能優化(史上最全不斷更新

最近在用webpack優化首屏載入效能,通過幾種外掛之後我們上線前後的速度快了一倍,在此就簡單的分享下吧,先上個優化前後首屏渲染的對比圖。 可以看到總下載時間從3800ms縮短到1600ms。 我們在用webpack時一般都會選擇多入口檔案吧,為的就是將自己的原始碼跟第三方庫程式碼分離。這是之前的程式

手寫常用演算法(插入,希爾,)java實現

在排序演算法的複習當中,有些演算法還是比較難理解的,好在以前打下的基礎,再次學習輕鬆很多,下面記錄下手寫常用的排序演算法。 直接插入排序的效能分析: 時間複雜度:  1. 最好情況:O(n)  2. 平均情況:O(n^2)  3. 最壞情況:O(n^2)  空間複雜度:O

【程式碼】小技巧動態更新

若要在迴圈內部修改正在遍歷的序列(例如複製某些元素),建議您首先製作副本。在序列上迴圈不會隱式地建立副本。切片表示法使這尤其方便: >>> words = ['cat', 'window', 'defenestrate'] >>> for w in w

前端面試--js程式碼片段(基礎的基礎持續更新

程式碼片段1: var arr1 = [1,2,3,4,5] var arr2 = [] for(var i = 0; i < arr1.length; i ++) { arr2.push(function(){ alert(i)

頭像上傳剪裁預覽功能js實現以及Safari一個坑

// 彈窗 layui.use('layer', function(){ var layer = layui.layer; // 上傳圖片 $('.tc').click(function(){ layer

Linux運維開發工程師面試問題持續更新

Linux面試資料儲存檔案系統什麼是VFS?vfs:linux虛擬檔案系統,為各類檔案系統提供了一個統一的操作介面和應用程式設計介面。VFS是一個可以讓系統呼叫不用關心底層的儲存介質和檔案系統型別就可以工作的粘合層。nfs分散式檔案系統軟硬連線軟硬連線的作用軟硬連線的目的是解

多功能萬能模態框插件項目實用持續更新...

lose 引入 clas -c 粘貼 更新 mode log pom 附github地址 https://github.com/pomelott/jquery-plug-in 模態框(modelBox) 使用方法 1.引入css文件(建議復制粘貼至項目css文件中

三種排序:歸並

new swap 簡單 數組合並 col 最大 heapsort 堆排序 大神 轉自:http://www.cnblogs.com/LUO77/p/5798149.html (一)快排 快排考的是最多次的。之前看大神寫的算法很簡單,思想也很好。就一直用他的思想去思考快排

關於大數據相關的問答匯總持續更新~

大數據問題NO.1 想要學好大數據需掌握哪些技術? 答:1,Java編程技術 Java編程技術是大數據學習的基礎,Java是一種強類型語言,擁有極高的跨平臺能力,可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等,是大數據工程師最喜歡的編程工具,因此,想學好大數據,掌握Java基礎是必不可

關於一張RGB圖片在numpy的儲存

假設圖片為 width:200 heigh:300 在numpy中,shape為 (1,300,200,3)  意思就是在矩陣中每一列,儲存一張圖片,即一個特徵。 就比如:[     [[0.0, 1.0], [2.0, 3.0], [4.0, 7.0], [

RedisUtil(未完持續更新....)

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using Newton

冒泡選擇插入歸併計數

  1、資料結構和演算法   1.1、嚴魏敏  資料結構預演算法   1.2、大話資料結構和演算法 2、網路 3、計算機的組成原理 4、作業系統   常見時間複雜度:效率 O(1)<O(logn)<O(n)<O(nlogn)<O(n2)<O(

【有獎徵資源分享有內涵】貢獻你的CSDN博文和下載資源不斷更新

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

【珍藏】積攢的高逼格Python程式碼持續更新......

    用Python程式設計很久了,總感覺寫的很low,可不能總這樣呢。程式設計師逼格很重要,特別是以後還得不斷進階。於是學習一下別人Pythonic的風格,以備不時之需............. 1.簡潔的編碼彙總 1.1 快速生成字典 >>>

複習到了簡單練一下筆

#include<iostream> #include<cstdlib> using namespace std; int a[20]; int len; int partion(int low ,int high){ int i,j; int ke

快速排除(最優法,不是)求隨機陣列第k大數(c++)(讓數隨機沒寫)

#include <iostream> using namespace std; int get_kth(int arr[], int n, int k) {     int left = 0;     int right = n - 1;     while

歸併

  //遞迴版的歸併 package 分治; import java.util.Scanner; import javax.sound.midi.SysexMessage; public class Merge1 { static Scanner sc = new Scanner(