首页 > 其他分享 >每日一结

每日一结

时间:2022-10-06 19:34:13浏览次数:41  
标签:cur Offer 每日 System 一结 ans sum out

剑指 Offer 55 - II. 平衡二叉树

判断深度得函数。
左右子树得深度差<2 && 左右子树均是平衡二叉树。


剑指 Offer 55 - I. 二叉树的深度

return root == null ? 0 : Math.max(maxDepth(root.left), maxDepth(root.right)) + 1;


剑指 Offer 57 - II. 和为s的连续正数序列

采用滑动窗口得方法。
初始化的时候left=right=1;
sum=0;
注意窗口移动的时候sum的改变。
sum < target 时窗口右侧边界r++,sum+=r;
sum > target 时窗口左侧边界l++, sum-=l;
sum == target 之后别忘了继续移动窗口l++, sum-=l;
List<int[]> ans = new ArrayList<>();
return ans.toArray(new int[ans.size()][]);


剑指 Offer 57. 和为s的两个数字

采用双指针


剑指 Offer 58 - I. 翻转单词顺序

trim() 方法用于删除字符串的头尾空白符;
String[] cur = s.trim().split(" ");
之后倒着来,然后再加上空格,在到第一个单词的时候不加空格就好。


剑指 Offer 58 - II. 左旋转字符串

return s.substring(n) + s.substring(0, n);
实例:
索引从零开始;
public class RunoobTest {
public static void main(String args[]) {
String Str = new String("This is text");

    System.out.print("返回值 :" );
    System.out.println(Str.substring(4) );

    System.out.print("返回值 :" );
    System.out.println(Str.substring(4, 10) );
}

}
返回值 : is text
返回值 : is te


剑指 Offer 61. 扑克牌中的顺子

【首先对数组进行排序】
简单的理解就是,这个数组中0可以当任何数用,所以当牌不连续的时候,它就可以替补一下,进而达到顺的要求。
举个例子 0 0 1 2 4 5 6,这个数组中,0有两个,所以我们有俩万能替补,接着我们可以发现2-4之间不连续,缺个3,
这样我们就可以把一个0放到哪里当三,0 1 2 0 4 5 6,0代替了3的位置,达到了连续的要求,那啥时候就不行了呢,
当你万能替补0的个数·,没有间隙大的时候,比如你只有一个·0,但是其中数组中有俩连续的数之间差特别大,
达到0的个数不够,比如1-7,中间差了5个数,你就一个0显然不够,所以这就不是顺儿。


剑指 Offer 66. 构建乘积数组

    for(int i = 0, cur = 1; i < a.length; i++) {
        ans[i] = cur;
        cur *= a[i];
    }
    for(int i = a.length - 1, cur = 1; i > -1; i--) {
        ans[i] *= cur;
        cur *= a[i];
    }

标签:cur,Offer,每日,System,一结,ans,sum,out
From: https://www.cnblogs.com/xtag/p/16758255.html

相关文章

  • 有道词典_每日一句_2022/10
    10月 Mayourcountryproserandthepeopleliveapeacefullife!愿祖国繁荣富强,人民安居乐业。——2022.10.01Thebestyearsofyourlifearestillaheadof......
  • 每日一题之Vue的异步更新实现原理是怎样的?
    最近面试总是会被问到这么一个问题:在使用vue的时候,将for循环中声明的变量i从1增加到100,然后将i展示到页面上,页面上的i是从1跳到100,还是会怎样?答案当然是只会显示100,并不会......
  • C语言每日一题——第九天
    第九天在一开始的学习中,小明就头疼于计算机浮点数运算的误差。他决定看看浮点数的二进制是什么样的——尽管这么做对解决误差问题毫无帮助。输入程序执行时,通过scanf输......
  • 每日一结
    剑指Offer47.礼物的最大价值初始化一下第零行和第零列,剩下的:ans[i][j]=Math.max(ans[i-1][j],ans[i][j-1])+grid[i][j];剑指Offer50.第一个只出现一次的......
  • C语言每日一题——第八天
    第八天小明学习到了数组,同时,在最近的开发中,他发现很多递归运算存在重复计算相同数值的问题。他决定利用数组缓存运算的结果。有一个数组\(a_{n}\),已知\(a_n=a_{n-2}-......
  • 每日一结
    剑指Offer33.二叉搜索树的后序遍历序列(递归)因为后序遍历最后一个位置是根节点,又因为二叉平衡树左子树一定小于根节点,右子树一定大于根节点。而左子树也是如此,右子树......
  • C语言每日一题——第七天
    第七天小明在最近的学习中了解到了函数。他决定利用函数递归的特性实现不定长文本的输出。程序具有交互式设计。首先通过命令行参数获取最大输入次数;程序运行时,打印与已......
  • 每日一结
    剑指Offer26.树的子结构判断一棵树是否是另一棵树的子结构,注意子结构与子树的区别子结构不能只利用根节点进行对称性递归,需要构造辅助函数,判断当两棵树根节点值相同时......
  • 每日一结
    剑指Offer25.合并两个排序的链表怎么说,忘记了移动过额外设计的链表的指针。剑指Offer24.反转链表剑指Offer21.调整数组顺序使奇数位于偶数前面开辟一个新数......
  • C语言每日一题——第六天
    第六天小明想了想,发现他已经写过数个用于计算日期的程序了。今天他决定更进一步,要实现一个可以计算两个日期实际相差天数的代码。另外,为了方便,不考虑闰年情况。运行:main.......