01背包理论基础二
01背包问题的一维dp数组实现,空间优化版本详解。
Read Article →
给你二叉搜索树的根节点root,同时给定最小边界low和最大边界high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。
Read Article →
给定二叉搜索树(BST)的根节点root和一个整数值val,你需要在BST中找到节点值等于val的节点,返回以该节点为根的子树。
Read Article →
给你一个二叉树的根节点root,判断其是否是一个有效的二叉搜索树。有效二叉搜索树定义:节点的左子树只包含小于当前节点的数,节点的右子树只包含大于当前节点的数。
Read Article →
给定一个整数数组nums,判断是否存在三元组满足i != j、i != k且j != k,同时满足nums[i] + nums[j] + nums[k] == 0。返回所有和为0且不重复的三元组。
Read Article →
编写一个算法来判断一个数n是不是快乐数。快乐数定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为1。
Read Article →
给你两个字符串ransomNote和magazine,判断ransomNote能不能由magazine里面的字符构成。如果可以,返回true;否则返回false。
Read Article →
给定四个整数数组nums1、nums2、nums3和nums4,计算有多少个元组(i, j, k, l)能满足0 <= i, j, k, l < n且nums1[i] + nums2[j] + nums3[k] + nums4[l] == 0。
Read Article →
设计一个链表类,包含初始化对象、获取链表中下标为index的节点的值、在链表第一个元素之前插入一个值为val的节点、追加一个值为val的节点到链表末尾、插入一个值为val的节点到链表下标为index的节点之前、删除下标为index的节点等操作。
Read Article →
给出由小写字母组成的字符串s,重复项删除操作会选择两个相邻且相同的字母,并删除它们。在反复执行重复项删除操作后返回最终的字符串。
Read Article →
给定一个只包括(、)、{、}、[、]的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合,左括号必须以正确的顺序闭合。
Read Article →
编写一个函数,将输入的字符串反转过来。输入字符串以字符数组char[]的形式给出。不要给另外的数组分配额外的空间,必须原地修改输入数组。
Read Article →
给你两个字符串haystack和needle,在haystack字符串中找出needle字符串的第一个匹配项的下标。如果needle不是haystack的一部分,则返回-1。
Read Article →