剑指Offer
剑指Offer题解
Mr.Letian
练习时长两年半编程小菜鸡,从事Android系统底层开发、分布式数字化系统开发等工作。
对计算机底层技术充满兴趣,不定期分享计算机编程知识、学习总结、技术思考等等。
希望能与各位道友们一同成长!
展开
-
剑指 Offer 12. 矩阵中的路径
剑指 Offer 12. 矩阵中的路径法一:DFSclass Solution { char visited = '/'; public boolean exist(char[][] board, String word) { char[] words = word.toCharArray(); for(int i = 0;i < board.length;i++){ for(int j = 0;j<board[0]原创 2020-10-22 14:43:23 · 125 阅读 · 0 评论 -
剑指 Offer 63. 股票的最大利润
剑指 Offer 63. 股票的最大利润动态规划class Solution { public int maxProfit(int[] prices) { if(prices == null || prices.length==0)return 0; int[] mins = new int[prices.length]; int min = prices[0]; for(int i=0;i<mins.length;i++){原创 2020-09-01 23:37:24 · 117 阅读 · 0 评论 -
剑指 Offer 47. 礼物的最大价值
剑指 Offer 47. 礼物的最大价值基础版class Solution { public int maxValue(int[][] grid) { if(grid == null || grid.length == 0) return -1; int row = grid.length; int col = grid[0].length; int[][] res = new int[row+1][col+1];原创 2020-09-01 18:19:38 · 113 阅读 · 0 评论 -
剑指 Offer 42. 连续子数组的最大和
剑指 Offer 42. 连续子数组的最大和第一版 基础版class Solution { public int maxSubArray(int[] nums) { if(nums == null || nums.length ==0) return -101; int max = nums[0]; int length = nums.length; int[] dp = new int[length]; dp[0]原创 2020-09-01 17:34:40 · 141 阅读 · 0 评论 -
剑指 Offer 14- I. 剪绳子
剑指 Offer 14- I. 剪绳子class Solution { public int cuttingRope(int n) { if(n==2)return 1; if(n==3)return 2; int[] dp = new int[n+1]; dp[0] = 0; dp[1] = 1; dp[2] = 2; dp[3] = 3; for(i原创 2020-09-01 16:46:09 · 108 阅读 · 0 评论 -
剑指 Offer 14- II. 剪绳子 II
剑指 Offer 14- II. 剪绳子 II贪心算法class Solution { public int cuttingRope(int n) { int m = 1000000007; if(n<4) return n-1; long res = 1L; int times = n/3; int rest = n- times*3; for(int i = 1; i<原创 2020-09-01 16:43:59 · 119 阅读 · 0 评论