- 博客(4)
- 收藏
- 关注
原创 拓扑优化149行均匀化matlab代码注释详解
全局自由度矩阵,包含每个自由度编号。% 这两行代码的目的是从整个模型的自由度中提取出属于活跃(或有材料)的单元的自由度信息,并将其整理成一个排序的、唯一的自由度数组。% ndof 是总的自由度数,6 表示加载向量有6列,分别对应于六种不同的应变情况xx,yy,zz,xy,xz,yz。% edof(voxel==1,:) 通过逻辑索引,选择出 voxel 中为 1 的位置对应的单元的自由度信息。% 其中,K(activedofs(4:end), activedofs(4:end)) 是刚度矩阵的子集,
2023-12-15 12:13:18
863
原创 长度最小的子数组
虽然我想到了要用滑动窗口,但是不知道怎么判定滑动窗口元素的种类,只能再建立一个数组,用双层for循环专门来装不同的元素,结果没能通过测试,被测试样例中一个巨长无比的 全部是同样数字的fruits数组给干碎了,毕竟这种写法在窗口不大的情况下,两个for循环的循环区间小,时间消耗也小,但是在这种测试样例中,时间复杂度就高达O(n^3)。在外面套一层for循环把上面的步骤循环一遍,并把每次的结果进行一次对比,把最小的赋值给minlen,并返回len。=fruits[j] 时,更新 t 为 j,即 t=j,
2023-10-01 23:33:35
33
原创 刷题笔记-移除元素
/这一句要放在前移元素操作后面,我一开始写在了前面,if判断完就立即减小长度,导致后面前移元素时总是漏掉了最后一个。{//快指针顺序前移,满指针只有遇到不等于val的元素时才前移,同时不断用快指针的值覆盖满指针。//因为下标i以后的数值都往前移动了一位,所以i也要前移一位。//我第一次写的时候没写,没注意到这个细节,想了半天。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。不要使用额外的数组空间,你必须仅使用。的元素,并返回移除后数组的新长度。这道题有暴力解法和双指针法两种。
2023-09-24 23:08:18
39
1
原创 刷题总结-二分查找
此外,在我们判断出除nums[mid]>target的情况下,我们就可以判断出target在[left,mid-1]中而不是[left,mid],nums[mid]已经判断过了,直接从比它前面一个的位置开始搜索即可。总结:因为int类型的除法会直接舍去小数,这会导致一个问题,即我在后面每进行一次比较就习惯性的将区间界限值直接修改为mid(二分查找的思想就是这样的),但是在区间上下界差为1的情况下如果还未找到元素,程序将会陷入死循环。//在没有找到的情况下,target的插入位置一定在mid的左边或者右边。
2023-09-12 22:23:55
46
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人