随笔分类 -  算法题

记录刷过的算法题思路
摘要:关于区间问题,这里用到了差分染色的思想,通过标记两个端点标记一段连续的区间,而不是暴力遍历端点中的每个点进行标记。 const int val = 200001 * 2 + 10086; int inter[val]; class Solution { public: vector<Interval 阅读全文
posted @ 2023-02-19 18:10 重新出发123 阅读(56) 评论(0) 推荐(0) 编辑
摘要:class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * @param str string字符串 待判断的字符串 * @return bool布尔型 */ bool judge(string str) { // 阅读全文
posted @ 2023-02-19 10:41 重新出发123 阅读(14) 评论(0) 推荐(0) 编辑
摘要:快排是一个递归的排序过程,每次递归,将当前序列的第一个元素当作中间值pivot(也可以选最右边或者随机),把比pivot小的放左边,比pivot大的放右边,再依次对左边的序列和右边的序列分别排序。 vector<int> MySort(vector<int>& arr) { // write cod 阅读全文
posted @ 2023-02-18 16:45 重新出发123 阅读(16) 评论(0) 推荐(0) 编辑
摘要:思路: 判断一个二叉树是不是完全二叉树,先弄清楚二叉树的定义,只有最后一层和倒数第一层有叶子结点,也就是说当访问到空节点时,后面不应该再有节点可访问了。即空节点一定是在最后一层,并且空节点后面无节点。 采用层次遍历。用一个数组保存节点,用一个下标标记当前已经访问到的位置。 Go package ma 阅读全文
posted @ 2023-02-03 17:02 重新出发123 阅读(25) 评论(0) 推荐(0) 编辑
摘要:package main import . "nc_tools" /* * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */ func getMax(left int,right int)int { 阅读全文
posted @ 2023-02-03 15:35 重新出发123 阅读(16) 评论(0) 推荐(0) 编辑
摘要:思路: 逐层访问,通过访问当前层来得到下一层的节点。结束标志是下一层没有节点。 Go package main import . "nc_tools" /* * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * 阅读全文
posted @ 2023-02-03 15:18 重新出发123 阅读(13) 评论(0) 推荐(0) 编辑
摘要:思路: 对于这种dfs思想的算法,分三步走: 先判断空节点 再判断左子树和右子树 根据左子树和右子树返回的信息以及当前节点的信息,返回最终的结果 这里有一个技巧:用一个全局变量记录递归过程中出现不合法的情况,这样递归可以少返回一个值 package main import . "nc_tools" 阅读全文
posted @ 2023-02-03 12:08 重新出发123 阅读(16) 评论(0) 推荐(0) 编辑
摘要:https://www.nowcoder.com/practice/6a296eb82cf844ca8539b57c23e6e9bf?tpId=295&tqId=23263&ru=%2Fpractice%2F253d2c59ec3e4bc68da16833f79a38e4&qru=%2Fta%2Ff 阅读全文
posted @ 2023-02-02 12:54 重新出发123 阅读(11) 评论(0) 推荐(0) 编辑
摘要:https://www.nowcoder.com/practice/253d2c59ec3e4bc68da16833f79a38e4?tpId=295&tqId=23449&ru=%2Fpractice%2Fff05d44dfdb04e1d83bdbdab320efbcb&qru=%2Fta%2Ff 阅读全文
posted @ 2023-02-01 20:06 重新出发123 阅读(20) 评论(0) 推荐(0) 编辑
摘要:判断一个二叉树是否是对称的,采用层次遍历,对于每一层,判断其是否是对称的。每一层的空节点也要记录。 解法1: 层次遍历 package main import . "nc_tools" /* * type TreeNode struct { * Val int * Left *TreeNode * 阅读全文
posted @ 2023-02-01 09:27 重新出发123 阅读(12) 评论(0) 推荐(0) 编辑
摘要:https://www.nowcoder.com/practice/7d21b6be4c6b429bb92d219341c4f8bb?tpId=295&tqId=1009012&ru=%2Fpractice%2F6fe0302a058a4e4a834ee44af88435c7&qru=%2Fta%2 阅读全文
posted @ 2023-01-31 17:26 重新出发123 阅读(44) 评论(0) 推荐(0) 编辑
摘要:https://www.nowcoder.com/practice/6fe0302a058a4e4a834ee44af88435c7?tpId=295&tqId=2366451&ru=%2Fpractice%2Fb58434e200a648c589ca2063f1faf58c&qru=%2Fta%2 阅读全文
posted @ 2023-01-31 15:45 重新出发123 阅读(25) 评论(0) 推荐(0) 编辑
摘要:https://www.nowcoder.com/practice/b58434e200a648c589ca2063f1faf58c?tpId=295&tqId=654&ru=%2Fpractice%2F1291064f4d5d4bdeaefbf0dd47d78541&qru=%2Fta%2Ffor 阅读全文
posted @ 2023-01-31 12:33 重新出发123 阅读(20) 评论(0) 推荐(0) 编辑
摘要:https://www.nowcoder.com/practice/1291064f4d5d4bdeaefbf0dd47d78541?tpId=295&tqId=2291301&ru=/exam/oj&qru=/ta/format-top101/question-ranking&sourceUrl= 阅读全文
posted @ 2023-01-30 21:53 重新出发123 阅读(19) 评论(0) 推荐(0) 编辑
摘要:https://www.nowcoder.com/practice/0bf071c135e64ee2a027783b80bf781d?tpId=295&tqId=1512964&ru=/exam/oj&qru=/ta/format-top101/question-ranking&sourceUrl= 阅读全文
posted @ 2023-01-30 17:47 重新出发123 阅读(19) 评论(0) 推荐(0) 编辑
摘要:https://www.nowcoder.com/practice/5e2135f4d2b14eb8a5b06fab4c938635?tpId=295&tqId=2291302&ru=/exam/oj&qru=/ta/format-top101/question-ranking&sourceUrl= 阅读全文
posted @ 2023-01-30 17:03 重新出发123 阅读(29) 评论(0) 推荐(0) 编辑
摘要:https://www.nowcoder.com/exam/oj?page=1&tab=%E7%AE%97%E6%B3%95%E7%AF%87&topicId=295 解法1. 先将字符串中的每个修订号保存到数组里,再依次比较。 空间复杂度O(n) 时间复杂度O(n) package main im 阅读全文
posted @ 2023-01-30 16:09 重新出发123 阅读(41) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示