我很惊讶,我在SO上找不到答案.
我们可以在git中恢复/恢复已删除的提交吗?
例如,这就是我所做的:
# Remove the last commit from my local branch
$ git reset --hard HEAD~1
# Force push the delete
$ git push --force
Run Code Online (Sandbox Code Playgroud)
现在,有没有办法找回被删除的提交?git是否在内部记录(记录)删除?
我的输入文件看起来像这样:
{
"login": "dmaxfield",
"id": 7449977,
...
}
{
"login": "dmaxfield",
"id": 7449977,
...
}
Run Code Online (Sandbox Code Playgroud)
我可以用这个得到所有的登录名: cat members | jq '.[].login'
但我无法破解语法来获取登录名和身份证?
我遇到了一个有趣的问题:
给定二进制树以向内螺旋顺序打印它,即第一打印级别1,然后是级别n,然后是级别2,然后是n-1,依此类推.
For Ex:
1
2 3
4 5 6 7
8 9 10 11 12 13 14 15
Should Output:
1 15 14 13 12 11 10 9 8 2 3 7 6 5 4
Run Code Online (Sandbox Code Playgroud)
我想到了一个解决方案:
将每个级别元素存储在列表
列表中[0] = [1]
列表[1] = [2,3]
列表[2] = [4,5,6,7]
列表[3] = [8,9,10 ,11,12,13,14,15]
按所需顺序(0,n-1,1,n-2,...)循环列表列表并打印.以下n是在上述情况下为4的级别数.
它的空间复杂度为O(n).我相信可能有一个更好的解决方案,它有更好的空间复杂性,但我想不出它.任何人有任何指针?
我在rails中有以下查询:
records = Record.select('y_id, source')
.where(:source => source, :y_id => y_id)
.group(:y_id, :source)
.having('count(*) = 1')
Run Code Online (Sandbox Code Playgroud)
如果我得到以下输出puts records:
[#<Record source: "XYZ", y_id: 10000009>, #<Record source: "XYZ", y_id: 10000070>]
看起来输出数组中有2个元素。但是当我尝试做时,records.size我得到:
{[10000009, "XYZ"]=>1, [10000070, "XYZ"]=>1}
当记录是具有2个元素的数组时,为什么不
records.size打印2?group by查询结果是否由于某些原因而有所不同?我应该怎么做才能得到
records
我对这个例子感到困惑:
StringBuilder a = new StringBuilder("abcde");
String subStr = a.substring( a.indexOf("a") , a.indexOf("c") );
int leng = a.length();
char ch = a.charAt(4);
System.out.println( subStr + " " + leng + " " + ch);
//the result will be : subStr = abc , leng = 5 ch = e
Run Code Online (Sandbox Code Playgroud)
我的问题是:为什么ch = e并且它不会创建异常?
我的想法:
我有一个 StringBuilder,一个非不可变的对象,如果我在该对象上使用一种方法,它将返回一个具有相同引用对象的对象的新值。
a.substring ( int a, int b ),没有修改StringBuilder对象? a.append("value")我会修改 StringBuilder 对象的值?