伴你如风、护你如影|

xzh-yyds

园龄:3年9个月粉丝:0关注:2

随笔分类 -  leetcode

leetcode1282-用户分组
摘要:用户分组 哈希分类 给每一个组别容量分配一个List,存入哈希表中。遍历数组,将当前下标加入对应数量的List中。 如果List数量满了,那么将其从map中删除并存入返回值。 class Solution { public List<List<Integer>> groupThePeople(int
24
0
0
leetcode636-函数的独占时间
摘要:函数的独占时间 栈 使用栈记录调用过程。如果log为start,那么就加入堆栈。如果是end,则分两种情况: 栈不为空,意味着存在递归调用,那么说明当前的函数占用了上一个函数的使用时间,所以上一个函数要减去相应的时间,然后给当前函数增加时间 栈为空,则直接增加当前函数的时间 class Soluti
14
0
0
leetcode1374-生成每种字符都是奇数个的字符串
摘要:生成每种字符都是奇数个的字符串 模拟 如果n为奇数,则返回n个a;如果n为偶数,则返回n-1个a和1个b class Solution { public String generateTheString(int n) { StringBuffer sb = new StringBuffer(); i
16
0
0
leetcode698-划分为k个相等的子集
摘要:划分为k个相等的子集 回溯+剪枝 首先先判断总和sum能否被整除。然后对数组排序,从后向前遍历。 如果当前的值大于target,表明最大值已经超出范围,直接返回false 如果当前的值等于target,那么直接将其放入bucket中 如果当前的值小于target,需要进行回溯,从当前位置向前回溯即可
25
0
0
leetcode876-链表的中间结点
摘要:链表的中间结点 快慢指针 fast代表快指针,一次走两格;slow表示慢指针,一次走一格。持续遍历直到fast等于null或者fast.next等于null的时候返回slow指针即可 class Solution { public ListNode middleNode(ListNode head)
25
0
0
leetcode341-扁平化嵌套列表迭代器
摘要:扁平化嵌套列表迭代器 递归 对于传入的List<NestedInteger> nestedList,使用迭代器获取NestedInteger,如果当前的数字是Integer,那么直接加入List中;否则,就将取出的链表传入函数中进行递归调用 /** * // This is the interfac
19
0
0
leetcode738-单调递增的数字
摘要:单调递增的数字 贪心算法 先对数字进行遍历,找出从零开始单调递增的子序列。 如果此时i小于数组长度,意味着数组不是全部递增的,需要对数组进行修改。那么让i从后向前进行遍历,每次将arr[i-1]数组减一,直到arr[i] >= arr[i-1]成立为止。将前面的数字减少之后,由于前面的数字已经小于原
15
0
0
leetcode641-设计循环双端队列
摘要:设计循环双端队列 class MyCircularDeque { class ListNode{ int val; ListNode prev, next; public ListNode(){ this.prev = this.next = null; } public ListNode(int
13
0
0
leetcode4-寻找两个正序数组的中位数
摘要:寻找两个正序数组的中位数 二分查找 class Solution { int len1, len2; public double findMedianSortedArrays(int[] nums1, int[] nums2) { len1 = nums1.length; len2 = nums2.
22
0
0
leetcode3-无重复字符的最长子串
摘要:无重复字符的最长子串 滑动窗口 需要记录左边界left。当右边界移动的时候,如果新加入的字符已经存在,那么需要更新左边界,让left取左边界和上一个字符位置的最大值。 之后更新字符的最新位置,同时更新max class Solution { public int lengthOfLongestSub
14
0
0
leetcode2-两数相加
摘要:两数相加 循环,每次相加都new一个新的节点 class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode head = null, tail = null; int sum = 0; whil
18
0
0
leetcode1-两数之和
摘要:两数之和 暴力遍历 class Solution { public int[] twoSum(int[] nums, int target) { int n = nums.length; for(int i = 0; i < n; i++){ for(int j = i+1; j < n; j++)
18
0
0
点击右上角即可分享
微信分享提示
深色
回顶
展开