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

每日一结

时间:2022-10-15 10:22:10浏览次数:40  
标签:index 遍历 temp Offer 每日 preorder 一结 节点

剑指 Offer 51. 数组中的逆序对

一直二分,在遍历的时候,优先考虑分出的数组回到原数组,已全部完毕的情况。
for(int k = left; k <= right; k++) {
if(i == m + 1) { //左分用完
nums[k] = temp[j++];
}
else if(j == right + 1 || temp[i] <= temp[j]) {//注意是||右边用完 或者 无逆序对
nums[k] = temp[i++];
}else {
nums[k] = temp[j++];
ans += m - i + 1;
}
}


剑指 Offer 33. 二叉搜索树的后序遍历序列

利用二叉搜索树的性质,其左子树都小于他,其右子树都大于他;
利用后续遍历的性质,其最后一个节点即为根节点;
那么一个重要的步骤是:
找到第一个右子树的节点(下标) 为了后续递归;
那么在所有操作完毕之后,移动指针,应当指到根节点 && 左子树满足 && 右子树满足;


剑指 Offer 16. 数值的整数次方

巧妙地点是利用二进制数;

利用这个点,因为指数每次都 *2 ,2^i;
所以x更新 x = x * x;
while(b > 0) {
if((b & 1) == 1) {
res *= x;
}
x *= x;
b >>= 1; ** b每次向右移动一位 **
}


剑指 Offer 07. 重建二叉树

为了方便地找到根节点对应的下标,以便于后续的递归;
所以将中序遍历制作成一个HashMap,键:数组值;值:数组下标;
又因为,先序遍历的第一个节点即为根节点注意得到rootval = preorder[prestar];//不是preorder[0]
TreeNode root = new TreeNode(rootval);
int index = map.get(rootval);
root.left = dnn(preorder, prestar + 1, prestar + index - instar, instar, index - 1);
root.right = dnn(preorder, prestar + index - instar + 1, preend, index + 1, inend);
return root;
}

标签:index,遍历,temp,Offer,每日,preorder,一结,节点
From: https://www.cnblogs.com/xtag/p/16793646.html

相关文章

  • Java每日一题之Thread的yield和join方法区别
    Java每日一题之Thread的yield和join方法区别​​1.Java线程调度的一点背景​​​​2.理解线程的优先权​​​​3.yield()方法​​​​4.join()方法​​1.Java线程调度的一点......
  • Java每日一题之Netty高性能表现在那些方面?
    Java每日一题之Netty高性能表现在那些方面?答案:(1)IO线程模型:同步非阻塞,用最少的资源做更多的事情。(2)内存零拷贝:尽量减少不必要的内存拷贝,实现了更高效率的传输。(......
  • leetcode每日一题:940.不同的子序列Ⅱ
    题目描述给定一个字符串s,计算s的不同非空子序列的个数。因为结果可能很大,所以返回答案需要对10^9+7取余。字符串的子序列是经由原字符串删除一些(也可能不删除)字......
  • 每日总结(~~鲜花,酰铧 ❀~~) (晚上没精力切题了,就来写写总结吧)
    每日总结(鲜花,酰铧❀)(晚上没精力切题了,就来写写总结吧)10.13今天没考试,快乐刷题。事实证明,蓝以下数论题有思路的话真好切(不过一般我没有),python与高精度真是......
  • 每日一结
    剑指Offer36.二叉搜索树与双向链表整体思路中序遍历;所以:mid(root.left);内容;mid(root.right);内容:初始化pre!=null则让pre.right=cur;cur.left=pre;【由......
  • 【Vegas改编】SQL2005设置维护计划进行数据库每日备份
    例:每天1次完全备份,周日凌晨4点。超过4周清空之前的备份。 1,启用维护计划任务。在“管理”->“维护计划”上右键弹出菜单,选“维护计划向导”。​​​​ 2、“下一步”,设置......
  • 算法每日一题(反转单链表)C语言版
     在本篇文章里,我将分享一道很经典的算法题———反转链表,并且分享多种方法去解决方法,希望可以帮助到你......
  • 【每日一练】31—CSS 实现一个彩色旋转方块loading动画效果
    写在前面今天练习的这个项目是一个加载动画,这个加载动画主要是为了在网络不好,页面加载缓慢时给用户的一个提示,一个好的加载动画,可以缓解用户的焦虑情绪,让等待变得有趣,现在很......
  • C语言每日一题——第十四天
    第十四天这一次小明想要尝试一下语言分析……当然是最简单的文本匹配。首先“玩家”会输入长度为10的一串文字,内容全部由大小写字母、数字、空格组成,小明计划用程序匹配......
  • 每日一题【20200723】
    title:每日一题【20200723】excerpt:第二天建模打卡tags:[数学建模,线性规划,intlinprog,用分支定界法,整数规划]categories:[学习,数学建模]index_img:h......