- 博客(77)
- 收藏
- 关注
原创 [数据结构和算法]寻找第一个缺失的正整数
/如果是负数就不管它,如果是正数且小于n就取余,因为如果大于了n,那么我们要求的这个没出现过的最小正数就不可能是它。// 所有1~n都存在,输出n+1(根据题意调整)// 寻找第一个未出现的数。
2025-05-13 18:27:04
272
原创 [人机交互]以用户为中心的交互设计
•理解和指定产品的使用上下文,并用于指导设计•用户参与式开发•参与评估研究(第十十四章)•参与设计过程:用户作为合作设计人员。
2025-05-08 15:37:17
409
原创 [人机交互]设计,原型建立和构造
(原型是最终产品的一些关键描述,以牺牲另外一些特征为代价来换取开发所需要的资源。-对产品概念的形象化和具体化,是设计师构想的体现。-不是产品-是产品的一种近似或受限表示-作用:用户可以通过与之交互来探索其适用(有用,可用)性¡既可表示用户对系统的理解,也可是设计者对系统的设计¡即从用户的角度,采用他们的概念描述系统界面的设计¡旨在在用户和设计者之间建立交流的可能性。
2025-05-08 15:29:53
1127
原创 [人机交互]识别需要和建立需求
需求是有关目标的陈述或者规约。(需求应该描述系统做什么,但不是系统怎么做陈述应该尽可能具体,明确,无二义性。需求分析是解释已知需求,分析系统的数据与行为,指定系统规约的过程。情节是一种非叙事性的描述(又叫做用户故事◦内容描述具体行为、活动或任务◦用户语言描述◦文字、草图、录像和录音剪辑等情节示例(在线购物APP)对情节进行抽象。用例(Use Case) 是对情节(Scenario) 的抽象和泛化,它描述了系统如何与用户交互以实现特定目标。
2025-05-08 00:55:23
1413
原创 [人机交互]理解界面对用户的影响
情感是指某事物对心理造成的一种状态代理是一种形象化的表示,模拟处一些形象,帮助用户做事。-人类代理是在物理世界中代表客户的利益 比如:税务代理等-软件代理在虚拟世界代表用户的利益 比如:电子邮件代理,搜索代理等。
2025-05-07 15:47:46
558
原创 [人机交互]协作与通信的设计
通信是个体之间的信息交换的过程按照所交换信息的性质,通信可以是§交流思想、传达消息、联络感情、下达命令等按照个体之间的协调方式,通信可以采用§同步方式:交流思想、联络感情§异步方式:传达消息、下达命令按照信息的编码方式,通信可以利用§言语:口述§非言语:手势、表情、语调、其他肢体语言按照个体之间的联接方式,通信可以通过§面对面、信件、电话、电报等。
2025-05-06 20:50:32
609
原创 [人机交互]理解用户
认知是指与knowing相关的能力,行为和过程(考填空)-如何感知物理刺激?如注意、知觉等-如何认识自我、他人以及环境?如意识、记忆等-如何利用这些知识进行思维?如推理、问题求解等。
2025-05-06 20:08:16
1338
原创 [人机交互]理解与概念化交互
问题解决者对问题的客观陈述的理解,通常由问题的给定条件/事实,目标和允许的操作三种成分构成。eg:就比如我们做数学题,读了题之后,我们理解了题目给的条件,事实和允许的操作,就对这个问题的客观陈述有了理解,就形成了这个问题的问题空间。问题都有一个起始状态,一个目标状态,很多个中间状态,问题求解就是如何利用操作从其实状态转移到目标状态。人类错误处理的过程eg:人们写word,处理文档,可以通过undo操作进行撤销复现eg:回收站带年纪清空,不会直接清空而是出现一个窗口。
2025-05-05 23:05:48
1724
原创 [人机交互]交互设计
交互式产品泛指各种类型的交互式系统,交互式技术,环境,工具,应用与设备。接收输入,并将输出表示给用户的软件和硬件的集合。设计支持人们日常工作和生活的交互式产品。是一种通过使用多种通道(表达意图,执行动作或者感知反馈信息的各种通信方法)与计算机通信的人机交互方式,采用这种方式的计算机用户界面叫做多通道用户界面。
2025-05-05 19:55:37
1997
原创 [leetcode]stack的基本操作的回顾
/获取stack内部的元素的多少。s.swap(s2);//交换stack s 和 s2的元素。if (s.empty())//判断stack是否为NULL。//获取stack的顶部元素。//删除stack顶部元素。s.push(1);
2025-04-11 20:46:16
279
原创 [leetcode]01背包问题
要求在有限的背包容量下选择一些物品放入背包,使得放入背包的物品总价值最大,且放入物品的总重量不能超过背包的容量。例如,有一个容量为5的背包,有3个物品,分别是重量为2、价值为3的物品1,重量为3、价值为4的物品2,以及重量为1、价值为2的物品3。// dp数组, dp[i][j]代表行李箱空间为j的情况下,从下标为[0, i]的物品里面任意取,能达到的最大价值。// 初始化, 因为需要用到dp[i - 1]的值。
2025-04-10 22:19:48
1153
原创 [leetcode]优先队列:求解前K个高频元素
优先队列就行ICU病房一样,并不是像普通的队列遵循先来后到的原则,就像ICU并非会根据病人生病的严重程度优先安排医疗一样,体现在优先队列中就是按照某个重要性的标准来进行排列。从整棵树的最后一颗子树开始调整,每次都让根节点和左右孩子去比较,如果根节点比左右孩子的最大值要小,那么就将这两个值进行交换,然后此时这颗子树变成了大根堆,再看下一颗树。当每棵子树都是大根堆的情况下,那么这棵树也就是大根堆了。
2025-04-10 10:42:45
864
原创 [leetcode]差分算法
这张图的第一行的数组代表给原数组的第2到4项元素的数值加3。相当于我们在第二行的差分数组的第2项加了3,而我们不希望第五项的值有变化,我们就让第五项的值减3。这个第三行的数组是让原数组的2~4的数值加3。这张图展示的为原数组。
2025-04-09 20:42:24
475
原创 [leetcode]前缀和
/求这个区间的所有元素的和//求数组nums中从startIndex到endIndex的全部区间元素的和i++)i++)int main()return 0;
2025-04-08 10:20:50
716
原创 [leetcode]queue的操作的回顾
q.empty();//如果队列为空返回true,否则返回false。//返回队列尾元素的值,但不删除该元素。q.front();//返回队首元素的值,但不删除该元素。//删除队列首元素但不返回其值。//返回队列中元素的个数。q.push(1);//在队尾压入新元素。
2025-04-03 15:50:33
359
原创 [leetcode]回溯法
void backtracking(参1:题目中的数组,参2:结束循环的变量,参3:第n层 for 循环从谁开始,也就是子数组的开始位置,是一直变化的) { // 参数中要有一个值控制树的深度。backtracking(参1:题目中的数组,参2:结束循环的变量,参3:第n层 for 循环从谁开始);6.我们找寻找我们需要的结果的时候,遇到需要回溯的情形了,我们要进行对应的回溯。void calc(int k)//生成从 1 到 n 的所有全排列。if (chosen[i])//检查数字是否已被使用。
2025-04-01 20:59:16
839
原创 [leetcode]使用了unordered_map的寻找两数之和
numMap.end()) {//在um中查找这个补充数,如果在这个无需映射之中。//那么返回这两数的索引。//如果不在这个um中,就将之加入um。
2025-03-25 21:31:25
223
原创 [leetcode]map和unodered_map的使用场景
需要按键值排序:当需要按键值进行排序时, 是一个很好的选择。例如,统计字符出现次数并按字符的ASCII值排序输出。频繁的范围查询:如果需要频繁地进行范围查询(如查找某个区间内的键值对), 的有序性可以方便地进行范围查询。需要保持插入顺序:虽然 是按键值排序的,但如果你需要保持插入顺序,可以结合其他数据结构使用。快速查找、插入和删除:当需要快速的查找、插入和删除操作时, 的平均 O(1) 时间复杂度非常有优势。例如,在两数之和问题中,快速查找目标值的补数。不关心顺序:如果键值对的顺序不重要,只是需要快速访问
2025-03-25 21:10:18
601
原创 [leetcode]map的用法
std::map是一个非常强大的关联容器,适用于需要快速查找、插入和删除键值对的场景。自动排序:键值对会根据键自动排序。高效查找:查找操作的时间复杂度为O(logn)。灵活操作:支持插入、删除、查找等多种操作codewhile (it!mp.clear();return 0;
2025-03-25 20:07:28
713
原创 [leetcode]双指针算法的使用
双指针即是在有序数组的情况下,我们通过两个指针在遍历的过程中进行标记,对满足条件的进行处理,直至遍历完整个数组。
2025-02-05 16:42:53
1119
原创 [leetcode]两数之和等于target
/ 确保列表是排序的,因为双指针法要求输入是有序的// 迭代器指向列表的第一个元素// 迭代器指向列表的最后一个元素while (itB!= itE)if (sum > target) // 大于去大--itE;else if (sum < target) // 小于去小++itB;else // 找到了break;if (!if (!
2025-02-05 16:09:19
513
原创 [Leetcode]求最长公共前缀
step1:取首个字符串作为参考(s0),如果和首个字符串的前缀匹配那就可以继续判断。step2:进行横向遍历step3:退出条件如果达到了任意一个字符串的末尾或者出现了不匹配的现象。
2025-02-05 15:39:30
306
原创 [C++]const的使用场景
const修饰指针有三种情况:1.const修饰指针 -- 常量指针2.const修饰常量 -- 指针常量3.const即修饰指针,又修饰常量总结:我的理解:const就是让这个单元格的内容不可以被修改,const右边的那格变量的值不可以被修改。比如:const int *p = &stiA;(这里理解为,p是一个指向int的指针,在别的地方可以写为int* p,更加强调一个整体类型)就是说,这个指针p指向的int值是不可以被修改的)。但是对于 int * const p = &sti2A;
2025-02-04 15:54:39
925
原创 [JavaWeb]Tlias系统表单项(表单标签)
阅读。<input type="checkbox" name="hobby" value="writing"> 写作。<input type="hidden" name="hidden" value="隐藏">
2025-01-23 17:27:10
701
原创 [leetcode](找到vector中的特定元素并删除)无重复字符的最长子串
/示例vector//要删除的元素//查找元素if(it!//找到元素,删除它//打印结果return0;
2025-01-18 13:49:55
760
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅