第35天 演算法(牛客網劍指offer2)

2022-09-23 21:33:19 字數 1393 閱讀 7437

1.jz13 機械人的運動範圍

int ans = 0;

public int movingcount(int threshold, int rows, int cols)

public void process(boolean dp,int threshold,int i,int j,int rows,int cols)

dp[i][j] = true;

ans ++;

process(dp,threshold,i + 1,j,rows,cols);

process(dp,threshold,i - 1,j,rows,cols);

process(dp,threshold,i,j + 1,rows,cols);

process(dp,threshold,i,j - 1,rows,cols);

}public int minus(int x,int y)

while(y != 0)

return ansx + ansy;

}2.jz14 剪繩子

public int cutrope(int target)

if(target == 3)

if(target == 4)

int ans = 1;

while(target >= 5)

ans *= target;

return ans;

}3.jz15 二進位制中1的個數

public int numberof1(int n)

return ans;

}4.jz16 數值的整數次方

public double power(double x,int y)

if(x == 1)

if(x == -1) else

}if(y == integer.min_value)

double t = x;

double ans = 1;

boolean isfu = y < 0;

y = isfu ? -y : y;

while(y != 0)

t *= t;

y >>= 1;

}return isfu ? 1d / ans : ans;

}5.jz17 列印從1到最大的n位數(看似很垃圾的題,其實如果考大數就不簡單了,大數解法先不寫了-。-)

public int printnumbers (int n)

return ans;

}6.jz18 刪除鍊錶的節點

public listnode deletenode (listnode head, int val)

while(temp2.next != null) else

}return head;

}

牛客網劍指offer第35題 陣列中的逆序對

題目 在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數p。並將p對1000000007取模的結果輸出。即輸出p 1000000007 剛看到這個題目的時候,我的第一直覺是,不能對陣列排序,因為排序打亂了數字的相對順序,無法求解...

牛客網 劍指Offer 索引

二維陣列中的查詢 替換空格 從尾到頭列印鍊錶 重建二叉樹 用兩個棧實現佇列 旋轉陣列的最小數字 斐波那契數列 跳台階 跳台階 矩形覆蓋 二進位制中1的個數 數值的整數次方 調整陣列順序使奇數字於偶數前面 鍊錶中倒數第k個結點 反轉鍊錶 合併兩個排序的鍊錶 樹的子結構 二叉樹的映象 順時針列印矩陣 包...

牛客網 劍指Offer 索引

二維陣列中的查詢 替換空格 從尾到頭列印鍊錶 重建二叉樹 用兩個棧實現佇列 旋轉陣列的最小數字 斐波那契數列 跳台階 跳台階 矩形覆蓋 二進位制中1的個數 數值的整數次方 調整陣列順序使奇數字於偶數前面 鍊錶中倒數第k個結點 反轉鍊錶 合併兩個排序的鍊錶 樹的子結構 二叉樹的映象 順時針列印矩陣 包...