小编Gau*_*nha的帖子

语言检测如何工作?

我一直想知道谷歌如何翻译(或者可能是一个假设的翻译)从"从"字段输入的字符串中检测语言.我一直在考虑这个问题,我唯一能想到的就是在输入字符串中查找语言所特有的单词.另一种方法可以是检查句子形成或除关键词之外的其他语义.但考虑到不同的语言及其语义,这似乎是一项非常困难的任务.我做了一些研究,发现有一些方法可以使用n-gram序列并使用一些统计模型来检测语言.非常感谢高层答案.

algorithm nlp pattern-matching

12
推荐指数
4
解决办法
8160
查看次数

git子模块更新在一台计算机上失败并出现错误,但在另一台计算机上运行

我创建了一个git子模块并将其推送到我们的主存储库.这很好用,我可以通过浏览器看到存储库中的子模块.

为了测试它工作正常,我试图得到源是一个新的构建树.首先我跑了git submodule init然后git submodule update <submodule-name>.

这失败了,错误:

error: pathspec 'x/mypkg' did not match any file(s) known to git. Did you forget to 'git add'
Run Code Online (Sandbox Code Playgroud)

我尝试添加到.gitmodules子模块的URL但没有运气.

git git-submodules

11
推荐指数
2
解决办法
8504
查看次数

Git:新分支没有被推动

我创建了一个分支,说"dev",它基于分支"Base",然后将其与Upstream内容合并(我想保持Base清理,直到我完成测试).在解决冲突之后,我运行了命令git commit -a -m"comment"并且它经历了.接下来,我运行git push,希望在git服务器上创建新的分支,并且还可以看到我在dev上的合并内容.但是,当我运行git push时,命令输出"Everything up-to"并且我没有看到git服务器上的新分支.有什么我想念的吗?

git

10
推荐指数
1
解决办法
6153
查看次数

即使内存可用,小堆栈的基本原理是什么?

最近,我在接受采访时被问到,为什么当可用内存没有限制时你会有一个较小的堆栈?即使你有4GB的物理内存,为什么你会在1KB范围内拥有它?这是标准的设计实践吗?

operating-system

5
推荐指数
2
解决办法
401
查看次数

git从远程git服务器中删除开发分支

我创建了一个分支,处理它,将它与基本分支合并,现在想删除它.分支也是在git远程服务器上创建的.

现在,当我运行git branch -d分支时,它将其删除并推送它.但我仍然看到git远程服务器上的分支.

我之前在创建这个分支时看到了类似的问题,我无法在远程git服务器上看到它.

我甚至可以从这个分支机构结账.

我在这里错过了什么吗?

git

5
推荐指数
2
解决办法
3922
查看次数

在功能检查中如何处理加法中的整数溢出?

可能重复:
检测C / C ++中整数溢出的最佳方法

我正在用C编写函数,但问题是通用的。该函数接受三个整数,并返回有关这三个整数的一些信息。

我怀疑这里的问题是整数可能达到最大值,这可能导致溢出。

例如:如果我尽可能传递a且b可以是1-max,那么在这种情况下,如果条件导致溢出,表达式(a + b)> c会出现吗?如果是这样,我该如何处理?

我的解决方案是保留一个长整数作为临时变量,以保留a + b的值并在表达式中使用它,但这听起来很脏。

请参考以下代码段:

int
triangle_type(int a, int b, int c) {
    if (!((a+b)>c)&&((b+c) > a)&&((a+c>b))) {
        return -1;
    }
}
Run Code Online (Sandbox Code Playgroud)

c c++

5
推荐指数
1
解决办法
3721
查看次数

Strings.Replacer:如何一次替换所有子串?

我正在尝试使用字符串替换多个不同的字符,Replacer但是在替换一个字符串时遇到问题.输出有两个下划线而不是一个,如果我尝试使用其他替换Replacer,那么它不能完全替换它.

试试Go Playground上的代码:

package main

import (
    "fmt"
    "strings"
    )

//Expecting output to be emp_my_stats

func main() {
    var input string = "/v1.0/emp/emp_1/my_stats"

    replacer := strings.NewReplacer("/v1.0/", "", "/", "_", "emp_1", "")
//  replacer := strings.NewReplacer("/v1.0/", "", "/", "_", "/emp_1", "")

    output := replacer.Replace(input)
    fmt.Printf("output %v", output) 
}
Run Code Online (Sandbox Code Playgroud)

我可以使用多个Replacer等但是真的想在一个通道/或一个语句中执行它.

有什么建议干净利落的吗?我的目标是提高效率(这将经常完成,虽然这些字符串很短很重要),也不会使用多个Replacers.

string replace go

4
推荐指数
1
解决办法
5232
查看次数

如何在golang中为哈希映射创建复合键

首先,我对复合键的定义 - 两个或多个值结合起来构成关键.不要混淆数据库中的复合键.

我的目标是在散列表中保存pow(x,y)的计算值(x和y是整数).这是我需要关于如何创建密钥的想法,所以给定x和y,我可以在哈希表中查找,找到pow(x,y).

例如.pow(2,3)=> {key(2,3):8}获取密钥(2,3)的功能/方式是我想弄清楚的.

一般来说,最好的方法是处理键,这是多个值的组合,同时在哈希表中用作键.

谢谢

dictionary hashmap go

4
推荐指数
2
解决办法
2736
查看次数

如何在无法确定堆栈帧大小的情况下使用gdb进行回溯?

我遇到了核心,无法从中获取回溯.我有两个问题.

  1. 我可以从list命令输出中找出导致崩溃的行或发生崩溃的位置吗?
  2. 如何处理它否则.我应该将heuristic-fence-post设置为什么来获取一些有意义的数据.我尝试将其设置为0但没有运气.

(gdb)bt

0 0x00e67a24 ?? ()

警告:GDB无法在0xe67a24找到函数的开头.

GDB is unable to find the start of the function at 0xe67a24
Run Code Online (Sandbox Code Playgroud)

因此无法确定该函数的堆栈帧的大小.这意味着GDB可能无法访问该堆栈帧或其下方的帧.此问题很可能是由无效的程序计数器或堆栈指针引起的.但是,如果您认为GDB应该只是从0xe67a24向后搜索看起来像函数开头的代码,则可以使用`set heuristic-fence-post'命令增加搜索范围.(GDB)

gdb

3
推荐指数
1
解决办法
3067
查看次数

如何将不同类型传递给函数

我有两个golang函数,做同样的事情,一个接受输入切片,另一个接受一个map作为输入.我想将它组合成一个函数,以避免重复.

func DoSomething([]data) {
//do something.
}

func DoSomething(map[string]data) {
    //do something.
}
Run Code Online (Sandbox Code Playgroud)

组合功能可能如下所示:

    func DoSomethingNew (param type) {
       //param could be map or slice
    }
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以在golang中将不同类型传递给相同的函数以及如何.我用谷歌搜索,但找不到任何相关的东西.

go

3
推荐指数
1
解决办法
1140
查看次数

如何使用马拉松健康检查命令模式?

我在 mesos/marathon 上运行 docker 容器。我想实现健康检查,基本上是想运行一个健康检查脚本。我的问题是,健康检查命令是在容器本身上运行还是在从站上运行?它可能是容器级别,因为这是每个应用程序运行状况检查,所以很明显,但我想确认一下。没有找到任何说明它在哪里运行的相关文档。

谢谢

我确实尝试通过命令对 /tmp/testfile 进行回显,我在从站上看到了该命令。这意味着它在奴隶上运行?只需要确认。任何更多信息都是有用的

marathon mesos

2
推荐指数
1
解决办法
2780
查看次数

int vs int32返回值

我遇到了一个问题,这似乎与int32 vs int数据类型有关.我的程序在不同的环境中返回不同的值.

例如,在go playground上,我注意到返回的值是-4(这是预期值).但是在相同输入的Leetcode上返回相同的值会返回4294967292.当它返回此值时,当我打印它时,我得到-4(稍后会看到输出).

我尝试转换为int32(res)但没有帮助.也没有在教科书中找到任何直接相关的内容.请帮助我理解为什么这在操场上与lc不同.

https://play.golang.org/p/qXMd9frlhbe

package main

import (
    "fmt"
)

func main() {
    fmt.Printf("%v", singleNumber([]int{-2,-2,1,1,-3,1,-3,-3,-4,-2}))
}

func singleNumber(nums []int) int {
    sum := make([]int, 32)

    for _, v := range nums {
        for i := 0; i < 32; i++ {
            if sum[i] != 0 {
                sum[i] += 1 & (v >> uint32(i))
            } else {
                sum[i] = 1 & (v >> uint32(i))
            }
        }
    }

    res := 0 
    for k, v := range sum {
        if …
Run Code Online (Sandbox Code Playgroud)

go

2
推荐指数
1
解决办法
868
查看次数

在一组实数中查找ak元素子集(Programming Pearls book)

我正在解决Programming Pearls的Column2中的问题.我遇到了这个问题:

"给定一组n个实数,一个实数t和一个整数k,你能多快判断该组中是否存在一个总和最多t的k元素子集?"

我的解决方案是对实数组进行排序,然后查看前k个元素的总和.如果此总和小于或等于t,那么我们知道至少存在一个满足条件的集合.

解决方案是否正确?

是否有更好或不同的解决方案?

注意:为了清楚起见,不要假设输入已经排序.

algorithm

1
推荐指数
1
解决办法
455
查看次数