小编use*_*335的帖子

是否可以微观优化"x = max(a,b); y = min(a,b);"?

我的算法就像是一样

int sumLargest2 ( int * arr, size_t n )
{
    int largest(max(arr[0], arr[1])), secondLargest(min(arr[0],arr[1])); 
    // ... 
Run Code Online (Sandbox Code Playgroud)

我意识到第一个可能不是最优的,因为当你认为知道最小值所需的信息在你找到最大值之后已经存在时,调用max然后min是重复的.所以我发现我能做到

   int largest = max(arr[0], arr[1]);
   int secondLargest = arr[0] == largest ? arr[1] : arr[0];
Run Code Online (Sandbox Code Playgroud)

削减无用的调用min,但我不确定实际上是否可以节省任何数量的操作.是否有任何花哨的位移算法可以做到相当于

int largest(max(arr[0], arr[1])), secondLargest(min(arr[0],arr[1]));
Run Code Online (Sandbox Code Playgroud)

?????

c++ algorithm optimization bit-shift c++11

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

在JQuery中获得祖父母的第一个孩子的最优雅,最可靠和最有效的方法是什么?

所以我有一段像HTML一样的

<form action="/AssetBundle/DownloadFile" data-ajax="true" data-ajax-method="POST" data-ajax-mode="replace" data-ajax-update="#masterLinkHolder" id="form0" method="post"></form>
  <table>
      <tr>
          <td>someimage.png</td>
          <td><img src="imageicon.png"></td>
          <td><button type="button">Click to Download</button></td>
      </tr>
      <tr>
          <td>somedocument.docx</td>
          <td><img src="docicon.png"></td>
          <td><button type="button">Click to Download</button></td>
      </tr>
  </table>
  <input type="hidden" id="file2Download" />
</form>
Run Code Online (Sandbox Code Playgroud)

并且当button被点击我想设置value与输入的id file2Download是文件名(如someimage.png,somedocument.docx从同)tr为按钮,然后提交表单.所以我需要填写帮助

<script type="text/javascript">
    $('button').click(function () {
        $('#file2Download').val(
           // ... ?
        );
        $('#id0').submit();
    });
</script>
Run Code Online (Sandbox Code Playgroud)

以适当的方式.我知道我正在看一棵树

               tr
           /   |    \ 
          td   td    td
               |      \
              img     button
Run Code Online (Sandbox Code Playgroud)

并试图从button祖父母那里去tr,然后再到第一个孩子tr.

html javascript algorithm jquery javascript-events

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

这在技术上是O(n)算法吗?

根据我对算法的理解,以下技术上是线性解决方案.

int max ( int * arr, size_t n )
{
    for (int k = 0; k < 100000000000000000000000000000; ++k)
        std::cout << rand(); // doesn't do anything useful   

    int largest = *arr; 

    for (int * offend = arr + n; arr != offend; ++arr)
        if (*arr > largest)
            largest = *arr;    

    return largest;
}
Run Code Online (Sandbox Code Playgroud)

事实上,我可以添加尽可能多的垃圾,只要操作数量相对于线性增长n,根据现代采访者,它被认为是一种"更好"的算法.那是对的吗?

c c++ algorithm time-complexity

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

控制器的静态成员存活多久?

我在 ASP.NET 中有一个像这样的控制器:

 public class FileUploadController : Controller
 { 
    // ...
    static List<ThreePartKey> uploadedFiles = new List<ThreePartKey> ();
    // ... 

    public ActionResult Index ( )
    {
       // ...
    }

    [HttpPost]
    public ActionResult Index (HttpPostedFileBase file, 
                               string selectedOrgName, 
                               string selectedCatName)
    {
        // ...
        uploadedFiles.Add(new ThreePartKey { 
             orgname = selectedOrgName, 
             catname = selectedCatName, 
             filename = fileNameNoExtension });

        ViewBag.uploadedFiles = uploadedFiles;
        return View();
    }
 }
Run Code Online (Sandbox Code Playgroud)

其中第二个Index函数上传用户选择的文件并将其信息添加到已上传文件的列表中。该列表信息用于构建 HTML 表格。List<ThreePartKey> uploadedFiles我最终添加前缀的原因static是因为如果没有它,我的列表将只有每次调用时最后上传的文件Index

该列表在内存中保留多长时间?我希望它与 user 相对应sessions,但我不确定。

c# asp.net asp.net-mvc session

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