leetCode
、YongTing
这个作者很懒,什么都没留下…
展开
-
leetCode:转换成小写字母
题目:实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。示例 1:输入: "Hello"输出: "hello"示例 2:输入: "here"输出: "here"示例3:输入: "LOVELY"输出: "lovely"思路:字符串在java中统一用unicode表示( 即utf-16 LE...原创 2019-03-20 10:29:30 · 227 阅读 · 0 评论 -
LeetCode:合并两个有序链表
递归实现将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4/***Definition for singly-linked list*/class ListNode{ int val...原创 2019-04-11 17:39:17 · 103 阅读 · 0 评论 -
leetcode:删除排序链表中的重复元素
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例1:输入: 1->1->2输出: 1->2示例2:输入: 1->1->2->3->3输出: 1->2->3/** * Definition for singly-linked list. * public class ListNode {...原创 2019-04-11 17:59:02 · 330 阅读 · 1 评论 -
leetcode. 打家劫舍
class Solution { public int rob(int[] nums) { int n = nums.length; if(n == 0) return 0; if(n == 1) return nums[0]; if(n == 2) r...原创 2019-04-03 13:49:12 · 105 阅读 · 0 评论 -
leetcode:lru缓存
示例:LRUCache cache = new LRUCache( 2 /* 缓存容量 */ );cache.put(1, 1);cache.put(2, 2);cache.get(1); // 返回 1cache.put(3, 3); // 该操作会使得密钥 2 作废cache.get(2); // 返回 -1 (未找到)cache.put...原创 2019-04-26 14:24:20 · 126 阅读 · 0 评论 -
leetcode237. 删除链表中的节点
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public void deleteNode(Lis...原创 2019-04-18 13:17:00 · 89 阅读 · 0 评论 -
leectcode. 两数之和
示例:给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]使用双指针,一个指针指向值较小的元素,一个指针指向值较大的元素。指向较小元素的指针从头向尾遍历,指向较大元素的指针从尾向头遍历。如果两个指针指向元素的和sum == target,那么得到要求的结果; 如果su...原创 2019-04-18 13:46:41 · 457 阅读 · 0 评论 -
leetcode. 反转整数
class Solution { public int reverse(int x) { long result = 0; while (x != 0){ result = result * 10 + x % 10; x = x / 10; } if (result > ...原创 2019-04-18 14:08:10 · 99 阅读 · 0 评论 -
LeetCode. 数组中的第K个最大元素
示例:输入: [3,2,1,5,6,4] 和 k = 2输出: 5输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4排序:时间复杂度 O(NlogN),空间复杂度 O(1)public int findKthLargest(int[] nums, int k) { Arrays.sort(nums); return nums[n...原创 2019-04-18 14:44:17 · 142 阅读 · 0 评论 -
青蛙跳台阶
题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法每次跳的时候,小青蛙可以跳一个台阶,也可以跳两个台阶,也就是说,每次跳的时候,小青蛙有两种跳法。第一种跳法:第一次我跳了一个台阶,那么还剩下n-1个台阶还没跳,剩下的n-1个台阶的跳法有f(n-1)种。第二种跳法:第一次跳了两个台阶,那么还剩下n-2个台阶还没,剩下的n-2个台阶的...原创 2019-04-19 11:30:05 · 135 阅读 · 0 评论 -
leetcode. 缺失数字
给出一个包含0, 1, 2, ..., n中n个数的序列,找出 0 ..n中没有出现在序列中的那个数。案例 1输入: [3,0,1]输出: 2案例 2输入: [9,6,4,2,3,5,7,0,1]输出: 8思路: 用等差数列求和的方式算出前n个数的和,然后依次减去数组中的没一个数,最后剩下的就是缺失的数值。 public static void ...原创 2019-05-09 17:57:28 · 143 阅读 · 0 评论 -
leetcode:反转链表(递归实现含讲解)
public class ListNode { private int Data;// 数据域 private ListNode Next;// 指针域 public ListNode(int Data) { // super(); this.Data = Data; } public int getData() { ...原创 2019-05-10 14:51:38 · 419 阅读 · 0 评论 -
leetcode:二分查找
while方式package com.sitech.iot.monitor.controller;public class demo { public static int search(int[] nums, int target) { int l=0,r=nums.length-1; if(r==-1) return ...原创 2019-03-28 17:22:47 · 118 阅读 · 0 评论 -
leetcode:求众数
众数一定是出现次数大于n/2的元素,所以讲数组进行排列后,取中间值,就一定是众数。但是在计算比较大的数组时,时间会超过限制。代码:class Solution { public int majorityElement(int[] nums) { int n = nums.length; for(int i = 0...原创 2019-04-10 17:43:58 · 98 阅读 · 0 评论 -
leetCode:宝石与石头
给定字符串J代表石头中宝石的类型,和字符串S代表你拥有的石头。S中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J中的字母不重复,J和S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例 1:输入: J = "aA", S = "aAAbbbb"输出: 3示例 2:输入: J = "z", S = "...原创 2019-03-20 10:50:03 · 151 阅读 · 0 评论 -
leetCode:二叉树最大深度
最简单粗暴的解法思路:比较左,右子树,哪个最大,然后加1/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val = x; }*...原创 2019-03-20 11:26:17 · 116 阅读 · 0 评论 -
leetCode:两个数组的交集
给定两个数组,编写一个函数来计算它们的交集。示例 1:输入: nums1 = [1,2,2,1], nums2 = [2,2]输出: [2]示例 2:输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出: [9,4] public int[] intersection(int[] nums1, int[] nums2) { ...原创 2019-03-20 13:44:52 · 136 阅读 · 0 评论 -
leetCode:字符串反转
示例 1:输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]示例 2:输入:["H","a","n","n","a","h"]输出:["h","a","n","n","a","H"]java实现: public static String reverseString(String s) { if (s ==...原创 2019-03-20 13:54:56 · 223 阅读 · 0 评论 -
leetcode:买卖股票的最佳时机 II
给定一个数组,它的第i个元素是一支给定股票第i天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。示例 :输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,在第 4 天(股...原创 2019-03-20 14:07:12 · 141 阅读 · 0 评论 -
leetCode:只出现一次的数字
class Solution { public int singleNumber(int[] nums) { int res = 0; for(int i : nums){ res ^= i; } return res; }}成功显示详情执行用时 :1 ms, 在Singl...原创 2019-03-22 20:23:42 · 105 阅读 · 0 评论 -
leetCode:最大连续1的个数
package com.sitech.iot.monitor.controller;public class mian { public static int findMaxConsecutiveOnes(int[] nums) { int max = 0; int tempMax = 0; for(int i = 0; i < ...原创 2019-03-26 16:23:56 · 297 阅读 · 0 评论 -
leetCode: 加一运算
package com.sitech.iot.monitor.controller;public class mian { public static int[] plusOne(int[] digits) { for(int i=digits.length-1;i>=0;i--){ if(digits[i]<9){ ...原创 2019-03-26 16:45:47 · 175 阅读 · 0 评论 -
leetCode:求众数
假设第一个元素为众数,计数器置为1,遍历数组,当遇到相同的元素时,计数器加1,否则减1,任何计算器为0的时候,就假设下一个元素为众数,计数器再置为1。循环结束时,返回我们假设的众数,即要求的众数。 public int majorityElement(int[] nums) { int result = nums[0]; int times = 1;...原创 2019-03-26 20:09:33 · 164 阅读 · 0 评论 -
leetCode:有效的括号
package com.sitech.iot.monitor.controller;import java.util.HashMap;import java.util.Map;public class main { public static boolean isValid(String s) { Map<Character, Character>...原创 2019-03-27 19:31:40 · 100 阅读 · 0 评论 -
leetcode:爬楼梯
class Solution { public int climbStairs(int n) { if(n == 1) return 1; if(n == 2) return 2; int pre1 = 2,pre2 = 1; for(int i = 2;i<n;i++){ ...原创 2019-03-27 19:45:42 · 133 阅读 · 0 评论 -
二叉树的最大直径
543. Diameter of Binary TreeGiven a binary tree, you need to compute the length of the diameter of the tree. The diameter of a binary tree is the length of thelongest path between any two nodes in a ...原创 2019-10-07 17:14:08 · 835 阅读 · 0 评论