整理--算法分类
整理字符串,二叉树,排序,图,动态规划等各专栏的题目。
猴子居士
这个作者很懒,什么都没留下…
展开
-
【无标题】
撒发送到发送到发送地方原创 2022-12-20 11:09:39 · 197 阅读 · 1 评论 -
2021-08-22
引用: https://zhuanlan.zhihu.com/p/338057154 要做计算几何题,首先要有一套基础的模板,以方便处理几何对象。在多次实践后,目前的模板采取以下原则编写: 写全局函数,而非类方法,结构体只存数据; 每个函数标注依赖于哪些函数,且尽量减少依赖; 用较简略的名字,同时传值而非传const引用。 几何对象 struct Point { double x, y; }; // 点 using Vec = Point; // 向量 s原创 2021-08-22 13:17:27 · 126 阅读 · 0 评论 -
分类:排序
练习:全排列 1、题目要求 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 2、代码(使用STL): class Solution { public: vector<string> Permutation(string str) { ...原创 2018-07-19 23:39:17 · 553 阅读 · 1 评论 -
分类:线性连续存储(字符串,数组,队列,栈等)
题目描述 写一个 bash脚本以实现一个需求,去掉输入中含有this的语句,把不含this的语句输出 示例: 假设输入如下: that is your bag is this your bag? to the degree or extent indicated. there was a court case resulting from this incident welcome to nowcoder 你的脚本获取以上输入应当输出: to the degree or extent indicated.原创 2021-03-20 13:21:03 · 124 阅读 · 0 评论 -
分类:链表
翻转链表 一、题目要求 输入一个链表,反转链表后,输出链表的所有元素。 二、我的思路 循环判断原链表头结点位置的下一个位置是否是空,如果不是则将其放到链表的开头位置。返回新链表的开头节点。原链表的头结点是新链表的尾节点。 三、我的思路 /* struct ListNode { int val; struct ListNode *next; ListNode(原创 2018-01-16 20:20:51 · 132 阅读 · 0 评论 -
分类:二叉树
练习:二叉树中和为某一值的路径 1、题目要求 输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前) 2、我的代码 /* struct TreeNode { int val; struct TreeNode *left; ...原创 2018-07-22 22:13:48 · 144 阅读 · 0 评论 -
分类:数学
合并两个排序的链表 一、题目要求 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 二、我的思路 1、比较两个链表的头结点大小,哪个小就将其作为新链表的头结点; 2、依次比较两个链表节点的大小,将两个链表合并; 3、合并完之后,剩余部分合并到新链表最后; 三、我的代码 /* struct ListNode { int ...原创 2018-01-16 20:08:58 · 235 阅读 · 0 评论 -
分类:动态规划
反转单词顺序 class Solution { public: string ReverseSentence(string str) { int len = str.size(); if(len == 0) return str; stack&amp;lt;string&amp;gt; st; int i = 0,j = 0; ...原创 2018-05-12 21:04:42 · 231 阅读 · 0 评论 -
分类:图相关
分类:图相关原创 2021-06-13 00:03:42 · 75 阅读 · 0 评论 -
分类:接雨水问题
归并排序 我的代码: //merge_sort.cpp #include <iostream> using namespace std; void merge(int a[], int low, int mid, int high) { int n1 = mid-low+1, n2 = high-mid; int left[n1], right[n2]; ...原创 2018-08-21 11:58:30 · 178 阅读 · 0 评论 -
分类:其他
题目描述 写一个 bash脚本以统计一个文本文件 nowcoder.txt中每一行出现的1,2,3,4,5数字个数并且要计算一下整个文档中一共出现了几个1,2,3,4,5数字数字总数。 示例: 假设 nowcoder.txt 内容如下: a12b8 10ccc 2521abc 9asf 你的脚本应当输出: line1 number: 2 line2 number: 1 line3 number: 4 line4 number: 0 sum is 7 说明: 不要担心你输出的空格以及换行的问题 ...原创 2021-03-20 13:20:13 · 141 阅读 · 0 评论