摘要:
class Solution { public int numIslands(char[][] grid) { //统计岛屿的数量 int count = 0; for(int i = 0;i < grid.length;i++){ for(int j = 0;j < grid[0].length; 阅读全文
摘要:
//暴力法 class Solution { public int maxSubArray(int[] nums) { //定义一个当前子序列的和,将初值 设为nums【0】 int sum = nums[0]; //定义一个子序列的全局最大值 int max = sum; //从第二个元素开始 f 阅读全文
摘要:
class Solution { //对于 [a, b, c, d],如果有 a <= b <= c <= d ,那么最大收益为 d - a。而 d - a = (d - c) + (c - b) + (b - a) , //因此当访问到一个 prices[i] 且 prices[i] - pric 阅读全文
摘要:
//暴力法 class Solution { public int maxProfit(int[] prices) { //边界判断 if(prices.length < 2) { return 0; } //定义股票的最大收益 int maxprofit = 0; //定义最低价买入 int mi 阅读全文
摘要:
class Solution { public void sortColors(int[] nums) { // [0,zero) = 0 ; [zero,i) = 1; [two,nums.length - 1] = 2 //保证循环开始时[0,zero)为空,所以设置zero 为 -1,遍历时先 阅读全文
摘要:
class Solution { public int[] topKFrequent(int[] nums, int k) { //使用HashMap统计每个元素出现的次数,元素为键,元素出现的频次为值 HashMap<Integer,Integer> map = new HashMap<>(); 阅读全文
摘要:
//1.使用最小堆,或最大堆 // 根据 k 的不同,选最大堆和最小堆,目的是让堆中的元素更小 class Solution { public int findKthLargest(int[] nums, int k) { PriorityQueue<Integer> queue = new Pri 阅读全文
摘要:
/** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ //快慢指 阅读全文
摘要:
//动态规划,198的升级版 //在于怎样处理 首尾房子,它们之中只能抢一个 //Math(抢首,抢尾) class Solution { public int rob(int[] nums) { //没房子 if(nums.length == 0) return 0; //一间房子,没得选,必抢 阅读全文
摘要:
//动态规划 class Solution { public int rob(int[] nums) { int pre = 0; int cur = 0; for(int i = 0;i < nums.length; i++){ // 循环开始时,cur 代表 dp[k - 1]; pre 代表 阅读全文