问题标签 [space-efficiency]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 如何从实际数据库中永久删除最近的 git 提交
例子
所以假设我有一个本地 git repo,有 10 个提交,SHA 摘要为 0-9,所以我的 git 日志看起来像这样
我决定提交 5-9 是垃圾,我想从存储库和他们引入的磁盘空间中永久删除它们的所有记录。Baiscally,我希望我的 repo 的状态与提交 4 时的状态相同,并且就像 5-9 从未发生过一样。
我知道这git reset --hard 4
会使我的 repo似乎已经倒退到提交 4,但据我了解,这只是将提交master
点从 9 更改为 4,但实际上并没有删除任何内容。所有数据仍然存在,如果您知道提交 9 的 SHA,则可以恢复。
我也知道,git filter-branch
但这只会从历史记录中删除文件,而不是提交。
我试过做:
但是这样做之后,我的.git
目录的磁盘空间使用量相同或更大,我仍然可以恢复历史记录git checkout 9
。为什么不git gc --prune=now
修剪提交 5-9?我需要过期reflog
吗?
更普遍:
如果我有一个包含许多分支、标签、提交、合并和不同历史记录的复杂存储库,我如何才能永久自动删除所有提交,以及它们引入的更改以及它们消耗的磁盘空间,这些都是在一段时间后发生的。有效地将整个 repo 倒回到那个时间,并永久销毁该日期之后发生的所有活动。
algorithm - 如何在最有效的运行时间内查找排序数组中是否存在等于给定值的连续元素的算术平均值?
输入:
- 正数自然数的排序数组,
预期的复杂性:
- 时间:
O(n)
- 额外空间:
O(1)
例子:
输入:
arr = {2,3,17,30}
x=10
预期行为:
该函数打印索引:1,2 并返回 true,因为 (3+17)/2 = x = 10
输入:
x = 30
预期行为:
该函数将打印索引 3 并返回 true,因为(30)/1
= x = 30`
我的算法方法:
我们将从数组中的第一个元素开始取算术平均值。如果 x 大于我们的结果,我们会将数组中的下一个元素添加到算术平均值中。否则,我们将从算术平均值中减去第一个元素。
我试过了,但没有用。谁能帮我?
java - 为数据类型分配相同的值会降低效率吗?
例如,我有一个无限的 while 循环,它不断将 true 分配给我们的 testBool:
我们是否在为我们的数据类型重新分配相同的值而浪费计算,或者语言是否足够聪明以识别这种低效率?
javascript - Onclick with Ctrl hold duplicate one li element to another list
So basically what I need to do, is when I click on one UL list item, while holding Ctrl it needs to duplicate and that copy needs to go to another list, so far I've got to where only when I click on something it goes to another list with no Ctrl which is also mandatory for this homework. I'll upload script what I have so far:
Any suggestions on how to do it with the least amount of code as possible? I mean do I need to create another event for that, I am lost, Thanks for any help!
python - 如何在 Python 中有效地遍历一组数字?
我正在尝试一种更有效的方法来遍历一组数字,并找出丢失的数字。我有一个从 1 到 20 的数字数组,但是缺少一个,并且这些数字没有按时间顺序排列(它们被打乱了):
我想到的方法是:
这种方法的问题是速度慢且效率低,如果我需要分析一个非常大的数组(有数千个数字),需要很长时间。
python - 当重新分配对自身的 Python 引用时,它是取消分配并重新分配,还是什么都不做?
由于字典是可变的,b 是字典的引用指针,我们将这个指针传递给函数 new_val。
对字典的引用没有改变,但字典对 2 的引用变为 5。
原始变量 b 现在应该将 'a' 映射到 5。但是,我想知道对字典的引用(换句话说,变量 b 的指针)是否会改变。
从技术上讲,我们将引用变量 b “重新分配”给恰好相同的引用。
在低水平,会发生什么?这就像一个无操作,其中一些逻辑识别引用是相同的,还是引用实际上被取消分配和重新分配?
也许一个更简单的例子是:
android - 如何通过压缩图像来减小 Android 应用程序的大小?
我正在开发一个 Android 应用程序,它有数百个 .jpg 文件(超过 300 个),每个文件大约 40kB。我想知道是否有办法减小我的应用程序的大小。我在这里看到了一个类似的问题Reducing Android App Size,但问题仍然存在。是否有一种方法可以压缩图像并在需要时实时解压缩它们,或者有任何其他方法可以在不牺牲速度的情况下使我的应用程序更节省空间?
javascript - 如何以尽可能少的字节将图像文件存储在 utf-8 HTML 源中?
一开始可以想到 base64 编码和 base64 数据 uri。
但它是最节省空间的解决方案吗?
我的用例是将微小的验证码图像存储在可点击链接旁边,这些链接是 gif 或 png 文件,大小为 500-2000 字节,以某种方式嵌入在 utf8 HTML 源中。
我正在考虑可点击链接的数据属性来存储适当编码的图像数据。然后我想使用 JavaScript 将嵌入的图像解码为动态设置的 base64 数据 uri。
python - 如何通过对每组 N 个顺序元素执行操作来减少熊猫系列
假设我有一个熊猫系列,我想取每组 8 行的平均值。我对系列的大小没有先验知识,索引可能不是从 0 开始的。我目前有以下
有没有更短的方法来做到这一点?
c# - 冒泡排序算法效率
我想知道如何确定我的数组排序算法的效率。在研究了大 O 符号后,我了解到时间复杂度是 O(n^2) 的多项式,因为该算法由 2 个循环组成。此外,空间复杂度为 O(1)。但是,我不明白如何确定效率。